我遇到了一些对我来说很奇怪的事情,看过这里的一些帖子,我似乎找不到任何人试图做类似的事情。所以我试图创建一个这样的列表列表:
group1 = range(1-10)
group2 = range(10-20)
group3 = range(20-30)
group4 = range(30-40)
group5 = range(40-49)
groups = [group1, group2,group3,group4,group5]
这似乎导致了5个空列表的列表。是什么赋予了?谢谢你的帮助。
答案 0 :(得分:1)
首先,您需要使用range(1,10)
。
其次,你不会得到一个列表,你会得到一个range
对象,它是一个生成器。如果您想要一个实际的列表,那么您必须执行list(range(1,10))
答案 1 :(得分:0)
当你写range(1-10)
时,你实际上是从1减去10,即range(1-10)
评估为range(-9)
。正确的语法是range(1,10)
。
答案 2 :(得分:0)
我猜你想要一个范围列表,列出1..10
到10..20
之间的范围等等。
所以,你可以使用list comprehension
做类似的事情,例如:
a = ((1, 10), (10, 20), (20, 30), (30, 40), (40, 49))
final = [list(range(*val)) for val in a]
print(final)
输出:
>>> [[1, 2, 3, 4, 5, 6, 7, 8, 9], [10, 11, 12, 13, 14, 15, 16, 17, 18, 19], [20, 21, 22, 23, 24, 25, 26, 27, 28, 29], [30, 31, 32, 33, 34, 35, 36, 37, 38, 39], [40, 41, 42, 43, 44, 45, 46, 47, 48]]