我正在尝试打印列表的第n个值,在这种情况下为整数。但是每次我得到整个列表作为输出时:
[1, 2, 3]
来自此代码:
numbers1 = []
numbers1.insert(0, list(map(int, input().split(" "))))
print(numbers1[0])
我在这里做什么错了?
我不明白为什么它不打印第一个元素,numbers1 [0]。
答案 0 :(得分:3)
您要在列表上插入列表,因此列表实际上如下所示:
[ [1, 2, 3] ]
您可以通过以下操作来实现:
numbers1 = list(map(int, input().split(" ")))
或
numbers1.extend(list(map(int, input().split(" "))))
但是,在这种情况下,我建议不要将map
与输入一起使用,因为它会混淆您的输入,并且您通常不希望这样做。相反,请尝试以下操作:
userInput = input()
numbers1.extend( [int(s) for s in userInput.split(" ")] )
此代码执行的功能与列表理解相同,而避免了调用列表map
和调用list
,从而减少了开销,同时提高了可读性。这也是Pythonic的恕我直言。