简体   繁体   English

从列表创建外部列表 - python

[英]Create an outer list from lists - python

I have following lists from user input我有以下来自用户输入的列表

name = [ "name0", "name1", "name2" ]
year = [ "year0", "year1", "year2" ]
salary = [ "salary0", "salary1", "salary2"]

How do create a single outer list like this:如何像这样创建一个外部列表:

my_list = [["name0", "year0", "salary0"]
           ["name1", "year1", "salary1"]
           ["name2", "year2", "salary2"]]

I tried the following but didn't work:我尝试了以下但没有用:

for a in range(len(name)):
   my_list = [name[a], year[a], salary[a]]

You can use zip to iterate all three lists together:您可以使用zip将所有三个列表一起迭代:

out = [list(data) for data in zip(name, year, salary)]

For your current code to work, you could define an empty list first, then append a sublist in loop:为了使当前代码正常工作,您可以先定义一个空列表,然后 append 循环中的子列表:

my_list = []
for a in range(len(name)):
    my_list.append([name[a], year[a], salary[a]])

Output: Output:

[['name0', 'year0', 'salary0'],
 ['name1', 'year1', 'salary1'],
 ['name2', 'year2', 'salary2']]

If you don't mind using numpy array, you can just transpose the three lists and you will get you desired output.如果你不介意使用 numpy 数组,你可以只转置三个列表,你会得到你想要的 output。

np.array([name,year,salary]).T
Out[31]: 
array([['name0', 'year0', 'salary0'],
       ['name1', 'year1', 'salary1'],
       ['name2', 'year2', 'salary2']], dtype='<U7')

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM