在 Python 中创建整数列表

问题描述 投票:0回答:3

是否可以使用一行代码创建整数列表,而不使用任何第三方库?

我尝试使用语法:

lst = list(int(1234))

或语法:

lst = list(int(1,2,3,4))

但是都返回错误。

理想情况下我想要这样的东西:

>>> lst = list(int(input('insert numbers:  )))
insert numbers:  1234
>>> print(lst)
1, 2, 3, 4

通常,当我想创建一个包含整数的列表时,我会执行以下(相当长的)操作:

lst = []
n = int(input('how many numbers?  '))
for i in range(n):
    num = int(input('number?  '))
    lst.append(num)
python python-3.x list integer
3个回答
1
投票

试试这个:

lst = input('insert numbers:  ')
lst = [int(d) for d in lst]
lst

作为您的评论,请仅尝试这一行:

[int(d) for d in input('insert numbers:  ')]

0
投票

我相信你不能直接执行此操作而不传递给字符串类型,因为 int 类型是不可迭代的。在这种情况下,您可以只使用 input() 而不使用 int()。

您可以尝试这两种情况来创建列表:

在这种情况下,会放置没有分隔的数字,例如1234(获得超过1位的数字会更困难,例如10、11...)

test1 = input('insert numbers :')
lst = [int(number) for number in test1]
lst

这样,您可以使用逗号(',')对数字进行分隔,例如1,12,13,5,我认为这样更合适,因为您可以得到所有数字。

test2 = input('insert numbers (separate with comma):')
lst = [int(number) for number in test2.split(',')]
lst

0
投票

我正在看这个问题,并对否定票感到惊讶,所以我对你的问题投了赞成票。 在 R 等语言中,您可以轻松做到:

seq(0, 10, 1)

在Python中,一个简单的方法是:

your_list = []
for i in range(10):
    your_list.append(i)

您也可以像这样在一行中获取您的 for :

your_list = []
for i in range(10): your_list.append(i)

永远不要因为别人的意见而气馁,特别是对于新学习者。

© www.soinside.com 2019 - 2024. All rights reserved.