python - 如何读取用户的输入并创建二维列表?

标签 python list python-3.x variable-assignment

我创建了一个二维数组,如下所示:

>>> a = [[0 for col in range(3)] for row in range(3)]

然后

>>> for i in range(3):
...       for j in range(3):
...           a[i][j]=input()
...

1 2 3
4 5 6
7 8 9

但它没有成功,python 认为'1 2 3'是一个元素,我怎么能用上面的形式做到这一点?感谢您的帮助。

最佳答案

您不必事先创建列表。您可以像这样在列表理解中直接创建它们

>>> a = [[int(item) for item in input().split()] for row in range(3)]
1 2 3
4 5 6
7 8 9
>>> a
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

在这里,每当 input 被调用时,我们输入的任何内容都将被读取为单个字符串 ('1 2 3') 并且我们split 空白字符上的字符串(获取 ['1', '2', '3'])并将每个拆分字符串转换为整数,使用 int 功能。

关于python - 如何读取用户的输入并创建二维列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30557303/

相关文章:

list - 绑定(bind) `len = length xs` 然后计算 `len` 会导致 GHC 消耗大量 RAM

python - 折叠列表列表,按特定元素分组并附加其他元素

python - 如何在数据框列中的特定字符之后提取整个字符串部分?

python - 从表格小部件到SQLite数据库的PYQT

python - 检查某个值在时间范围内是否超过阈值的最佳方法

python - 如何使用 Python 3 和 Beautiful Soup 获取 Wikipedia 文章的文本?

Python/Numpy 内存错误

Python 压缩整个目录而不是单个文件

java - 使用 JAXB 解码通用列表

python - 错误处理所需的输入