我得到了以下代码:
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/