[英]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.