【问题标题】:How to create a 2D list from user input with separate prompts for each column如何从用户输入创建二维列表,每列有单独的提示
【发布时间】:2019-11-21 23:09:15
【问题描述】:

我正在尝试追加到 Python 3 中的列表,但希望以尽可能短的行数执行此操作。为了做到这一点,我创建了一个空白的一维数组并使用基本迭代附加到它。我想在迭代中附加二维数组,并允许用户能够将他们的数据输入到二维数组中。我知道下面的代码不起作用。但是,我想知道这是否可以实现?

我希望输出如下所示:

[First name, Second name], [First name, Second name], [First name, Second name]
Array = []

for i in range (0,4):
    Array.append([input("First name")][input("Second name")])

print(Array)

【问题讨论】:

标签: arrays list input append


【解决方案1】:

您的代码似乎错误,不清楚您想做什么。 我假设你想要一个像这样的列表:

[ ["Mark", "Wahlberg"], ["Matt", "Damon"] ]

你可以这样做:

num_names = 5
name_arr = []

for i in range(num_names):
   temp_arr = list(input("Enter name space separated: ").split(" "))
   name_arr.append(temp_arr)

输入您的姓名,例如:“Matt Damon”,它会将其拆分为 2 个字符串并创建一个列表。

【讨论】:

    【解决方案2】:

    你的问题有点不清楚。我了解您希望输出为:

    [['Aaron', 'Armstrong'],['Barry', 'Batista'], ['Cindy', 'Wilson']]
    

    并且您希望尽可能少的行数,所以这就是我使用 List Comprehension 能够做到的简短程度:

    Array = [[input("First Name: "), input("Last Name: ")] for _ in range(4)]
    print(Array)
    

    或者用 :

    print([[input("First Name: "), input("Last Name: ")] for _ in range(4)])
    

    【讨论】:

    猜你喜欢
    • 2017-08-27
    • 2015-08-13
    • 2022-11-16
    • 2013-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-05
    相关资源
    最近更新 更多