python - 在 Python 中反转列表的顺序

标签 python list

我得到了以下代码:

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/

相关文章:

python - 如何避免为 python 文件中的每个更改重新启动 apache 服务器?

python构造函数基础问题

python - 是否可以在修改列表成员时监视列表(或可变序列)?

python - 基于索引的python列表中的优雅切片

python - 比较列表并提取数字

python - 如何使用PyPDF2设置注释的透明背景?

python - 对列表中的 x 空间进行循环引用的代码

java - 实现接口(interface)的类列表

python - scipy中二次和二阶样条插值的区别

list - 偶数和奇数列表