首页 > 解决方案 > 如何在 Python 中打印列表的特定元素?

问题描述

我正在尝试打印列表的第 n 个值,在本例中为整数。但是,每次我将整个列表作为输出时:

[1, 2, 3]

从此代码:

numbers1 = []
numbers1.insert(0, list(map(int, input().split(" "))))


print(numbers1[0])

我在这里做错了什么?

我不明白为什么它不打印第一个元素 numbers1[0]。

标签: pythonlist

解决方案


您正在将列表插入到列表中,因此您的列表实际上如下所示:

[ [1, 2, 3] ]

您想要的可以通过以下方式完成:

numbers1 = list(map(int, input().split(" ")))

或者

numbers1.extend(list(map(int, input().split(" "))))

但是,我建议不要map在这种情况下使用 with input,因为它会混淆您的输入,而您通常不想这样做。相反,试试这个:

userInput = input()
numbers1.extend( [int(s) for s in userInput.split(" ")] )

这段代码做同样的事情,但作为一个列表推导,它避免了调用map和调用list,减少了开销,同时提高了可读性。这也是更 Pythonic 恕我直言。


推荐阅读