如何在以空格分隔的一行中输入列表中的元素?

时间:2019-08-08 12:48:01

标签: python python-3.x list

我有一个列表,其中包含n个元素作为输入。一切都很好,但我想将输入内容放在同一行中,并用空格隔开。如何修改下面的代码?

a = int(input("Enter size of list: "))
print("Enter elements:")
l = [int(input()) for i in range(a)]    
print(l)

我的输出:

Enter size of list: 3
Enter elements:
1
2
3
[1, 2, 3]

我希望它看起来像这样:

Enter size of list: 3
Enter elements:
1 2 3
[1, 2, 3]

我尝试过这个(Input n elements seperated by space in python),但是它不满足我的需要,因为它是用于动态列表的,但是我想根据我的代码来获取静态列表。

3 个答案:

答案 0 :(得分:2)

您正在寻找类似这样的东西吗?使用enumerate()限制您的静态值。

a = int(input("Enter size of list: "))
print("Enter elements:")
l = [int(z) for y, z in enumerate(input().split()) if y < a and z.isdigit()]
print(l)

输出:

Enter size of list: 3
Enter elements:
1 2 3
[1, 2, 3]

其他输出:

Enter size of list: 3
Enter elements:
1 2 3 a b c 5
[1, 2, 3]

答案 1 :(得分:0)

使用字符串拆分方法:https://www.w3schools.com/python/ref_string_split.asp

l = input().split(" ")
l = [int x for x in l]

答案 2 :(得分:0)

您可以使用Python映射函数将给定的输入字符串映射到int数组

list(map(int , input().split()))