我得到了以下代码:
def two_pair(ranks):
"""If there are two pair, return the two ranks as a
tuple: (highest, lowest); otherwise return None."""
pair = kind(2,ranks)
lowpair = kind(2, list(reversed(ranks)))
if pair and lowpair != pair:
return (pair,lowpair)
else:
return None
在lowpair变量中,为什么要声明list()
?你为什么不能直接说 reversed(ranks)
。 ranks
是一个列表。不是已经暗示了吗?
最佳答案
reversed
返回一个迭代器,而不是一个列表。我们需要明确地将其转换为列表,除非我们只想迭代它。
a = [1, 2, 3]
print reversed(a) # <listreverseiterator object at 0x7fc57d746790>
这就是为什么我们必须使用 list
来获取实际的反向列表,就像这样
print list(reversed(a)) # [3, 2, 1]
关于python - 在 Python 中反转列表的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21566957/