我有一个列表,其中包含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),但是它不满足我的需要,因为它是用于动态列表的,但是我想根据我的代码来获取静态列表。
答案 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()))