首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python:如何从n个输入生成n个新列表?

Python:如何从n个输入生成n个新列表?
EN

Stack Overflow用户
提问于 2016-03-30 00:37:37
回答 2查看 106关注 0票数 2

一般来说,我对Python和编程都很陌生,所以我只是想学习一些基础知识。

基本上,现在我有一个用户输入n个整数,比如2,3和12,这些数字被放入一个名为“数字”的列表中。从这个列表中,我想让每一个数字组成一个新的列表,列出所有的自然数,直到并包括这个数字。

例如:

代码语言:javascript
复制
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个列表却在回避我。

任何帮助都是感激的,谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-30 00:53:31

Pythons range()函数是一个很好的用途。

您必须列出一个列表,在其中可以将列表索引为:

代码语言:javascript
复制
list1 = list_of_list[0]
list2 = list_of_list[1]
list3 = list_of_list[2]

如果像你提到的那样在列表中输入数字

代码语言:javascript
复制
>>>numbers = [2, 4, 10]
>>>list_of_list = [list(range(1, n+1)) for n in numbers]

输出将如下所示:

代码语言:javascript
复制
>>>list_of_list
>>>[[1, 2], [1, 2, 3, 4], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]]

这在python中被称为列表理解。您正在迭代列表编号,对于每个数字,调用范围并将其转换为列表。

票数 2
EN

Stack Overflow用户

发布于 2016-03-30 01:07:12

您将无法在循环中动态地获得变量"list1“、"list2”和"list3“。您要做的是使用嵌套列表创建一个变量。

代码语言:javascript
复制
numbers = [2, 4, 6]

lists = [] // Initialize it as an empty list

在这里,每一次迭代都会附加一个从1到n+1的序列列表,这样您就可以获得第一个输入所需的1,2。

代码语言:javascript
复制
for n in numbers: 
    lists.append(range(1, n+1))

之后,您总是可以取出每个列表并将其放入它自己的变量中,但是每次更改输入时必须添加一个"listx“并不理想。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36297610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档