一般来说,我对Python和编程都很陌生,所以我只是想学习一些基础知识。
基本上,现在我有一个用户输入n个整数,比如2,3和12,这些数字被放入一个名为“数字”的列表中。从这个列表中,我想让每一个数字组成一个新的列表,列出所有的自然数,直到并包括这个数字。
例如:
inputs = 2, 4, n
numbers = [2, 4, 10]
list 1 = [1, 2]
list 2 = [1, 2, 3, 4,]
list 3 = [1, 2, ..., n-1, n]我最初的想法是对数字做一个for循环,但是如何实际列出n个列表却在回避我。
任何帮助都是感激的,谢谢!
发布于 2016-03-30 00:53:31
Pythons range()函数是一个很好的用途。
您必须列出一个列表,在其中可以将列表索引为:
list1 = list_of_list[0]
list2 = list_of_list[1]
list3 = list_of_list[2]如果像你提到的那样在列表中输入数字
>>>numbers = [2, 4, 10]
>>>list_of_list = [list(range(1, n+1)) for n in numbers]输出将如下所示:
>>>list_of_list
>>>[[1, 2], [1, 2, 3, 4], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]]这在python中被称为列表理解。您正在迭代列表编号,对于每个数字,调用范围并将其转换为列表。
发布于 2016-03-30 01:07:12
您将无法在循环中动态地获得变量"list1“、"list2”和"list3“。您要做的是使用嵌套列表创建一个变量。
numbers = [2, 4, 6]
lists = [] // Initialize it as an empty list在这里,每一次迭代都会附加一个从1到n+1的序列列表,这样您就可以获得第一个输入所需的1,2。
for n in numbers:
lists.append(range(1, n+1))之后,您总是可以取出每个列表并将其放入它自己的变量中,但是每次更改输入时必须添加一个"listx“并不理想。
https://stackoverflow.com/questions/36297610
复制相似问题