python - 为什么设置自动解包范围,但列表不?如何使用它?

标签 python list set range

我创建列表并设置范围。设置解包范围,列表没有

>>> my_list = [range(5)]
>>> my_set = set(range(5))
>>> my_list
[range(0, 5)]
>>> my_set
{0, 1, 2, 3, 4}
>>> my_list = [*range(5)]
>>> my_list
[0, 1, 2, 3, 4]

最佳答案

它不解压的原因是因为 my_list 只是在它旁边放了两个括号,如果你用 set 这样做,它会是一样的:

>>> my_set = {range(5)}
{range(0, 5)}

但是如果你执行 list(...) 它将解压:

>>> my_set = list(range(5))
[0, 1, 2, 3, 4]

关于python - 为什么设置自动解包范围,但列表不?如何使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65368440/

相关文章:

algorithm - 从仅具有 1 个大小子集的 n 个元素集合中查找大小为 r 的唯一集合

c++ - 适合集合(图形)分区的数据结构

python - 如何在命令行上测试 python 代码

python - 用 glut 和 python 打印文本

python - grequests 以什么方式异步?

python - 如何从列表中的元素中删除括号 (Python)

python - pandas 中的字符串打印不正确

python - 按组件对字符串列表进行排序

python - 无法从 Python 进程中返回 append 值

ruby - 生成集合的所有 "unique"子集(不是幂集)