将列表拆分为二维lis

2024-09-24 00:33:42 发布

您现在位置:Python中文网/ 问答频道 /正文

给定一个以多个名字作为参数的列表,我想知道是否有一种方法可以按名字和姓氏来分割名字,并创建一个包含所有名字和姓氏的二维列表。例如:

lst=(["DiCaprio,Leonardo","Pitt, Brad", "Jolie, Angelina"])

输出应为:

^{pr2}$

我知道我需要迭代给定的列表,并将名字和姓氏添加到新列表中,但我不太确定如何进行。 到目前为止我得到的是:

^{3}$

Tags: 方法列表参数名字leonardolst姓氏pitt
3条回答

拆分后返回名称的函数。在

def split_list(the_list=["DiCaprio,Leonardo","Pitt, Brad", "Jolie, Angelina"]):
    list_2d = [[],[]]
    for full_name in the_list:
        first_name, second_name = full_name.split(',')
        list_2d[0].append(first_name)
        list_2d[1].append(second_name)
    return list_2d

print split_list()

您可以使用一个简单的列表理解:

>>> lst=(["DiCaprio,Leonardo","Pitt, Brad", "Jolie, Angelina"])
>>> new = [[item.split(',')[1] for item in lst], [item.split(',')[0] for item in lst]]
>>> new
[['Leonardo', ' Brad', ' Angelina'], ['DiCaprio', 'Pitt', 'Jolie']]

或者您可以zip它:

^{pr2}$

这可能有助于您:

list_names = []
list_last =[]
lst=["DiCaprio,Leonardo","Pitt, Brad", "Jolie, Angelina"]
for element in lst:

   list_names.append(element.split(',')[0])
   list_last.append(element.split(',')[1])

如果你还需要什么,请告诉我

相关问题 更多 >