将for循环的输出转换为数组

时间:2019-06-12 06:03:57

标签: python python-3.x list

我正在一般地学习Python和编码,这是我偶然发现的东西:

n=int(input())
for i in range(1,n+1):
       print(i)

现在,我希望输出为数组形式。因此,如果是n=4,我希望输出看起来像my_array = [1,2,3,4]

我该怎么做?

3 个答案:

答案 0 :(得分:0)

您正在使用for循环打印单个元素。如果您想将list作为输出,则可以执行以下操作:

n = int(input())

# use list comprehension
# my_array = [i+1 for i in range(n)]

# or you can do it:
my_array = list(range(1,n+1))

print(my_array)

输出:

[1, 2, 3, 4]

答案 1 :(得分:0)

range函数返回一个迭代器,您也可以使用python cast直接将其转换为数组

n=int(input())
my_array = list(range(1,n+1))

说明: 在python 2.7中,range()直接返回一个列表,而在python 3.x中,range()是一个生成器,因此这就是我们需要将其转换为列表的原因。

答案 2 :(得分:0)

尝试列出理解力:

n =int(input('Enter the number'))
my_list = [i for i in range(1,n+1)]