如何在列表中拆分名称,然后重新插入拆分的项目?

2024-04-20 00:59:46 发布

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

我在csv列表中有列表:

newlist = [
    ['id', 'name', 'lastContactedTime', 'email', 'phone_phones', 'home_phones', 'mobile_phones', 'work_phones', 'fax_phones', 'other_phones', 'address_1', 'address_2', 'address_3', 'city', 'state', 'postal_code', 'country', 'tags'], 
    ['12-contacts', 'Courtney James', '', 'courtney@forlanchema.com', '+1 3455463849', '', '', '', '', '', '654 Rodney Franklin street', '', '', 'Birmingham', 'AL', '45678', 'US', ''], 
    ['4-contacts', 'Joe Malcoun', '2019-08-13 14:41:12', 'ceo@nutshell.com', '', '', '', '', '', '', '212 South Fifth Ave', '', '', 'Ann Arbor', 'MI', '48103', 'US', ''], 
    ['8-contacts', 'Rafael Acosta', '', 'racosta@forlanchema.com', '+1 338551534', '', '', '', '', '', '13 Jordan Avenue SW', '', '', 'Birmingham', 'AL', '45302', 'US', '']
]

我想创建一个循环事件,在其中拆分每个列表中的名称,如:"Courtney James",并将其添加到新列表中。你知道吗

我曾尝试使用while循环将每个名称分开并附加到列表中,但没有成功

#Splitting an item in the list and adding it to a new list  
m = 1
while newlist[m][1] != None:
    splitter = newlist[m][1].split()
    namelist = splitter
    m+1

    print(namelist)
else:
    break

我得到错误或代码不编译。我希望这些名字被拆分并添加到一个新的列表中。你知道吗

我想要的输出是循环列表,以便能够使用xlsxwriter将其添加到新的excel工作表: Headers=['Lastname'、'First name'、'Company'、'Title'、'Willing To share'、'Willing To include'、'Work phone'、'Work email'、'Work street'、'Work City'、'Work State'、'Personal street'、'Personal City'、'Personal State'、'Personal Zip'、'Mobile phone'、'per List1=['Doe1','John','company1','CIO','Yes','Yes','999-999-999','邮箱:email@email.com'、'123 work street'、'workville'、'IL'、'12345'、'1234 personal street'、'peronville'、'IL'、'12345'、'999-999-999'、'personemail@email.com','对所有人可见的公共便笺','公共'] 列表2= 列表3=


Tags: namecomstreet列表addressemailphonepersonal
1条回答
网友
1楼 · 发布于 2024-04-20 00:59:46

拆分每个名称时,会得到一个列表,例如[first_name, last_name]。假设您想要建立一个“这些列表的列表”,那么您需要使用您的代码作为基础来执行以下操作:

namelist = [] # new, empty list
for i in range(1, len(newlist)):
    names = newlist[i][1].split() # this yields [first_name, last_name]
    #print(names)
    namelist.append([names[1], names[0]]) # [last_name, first_name]
  • range(1, len(newlist))生成数字1,2。。。新列表长度-1
  • namelist.append([names[1], names[0]])将拆分后的名称追加到新列表中

结果是:

[['James', 'Courtney'], ['Malcoun', 'Joe'], ['Acosta', 'Rafael']]

你要找的是一个包含其他元素的更复杂的列表。但至少上面的代码说明了如何正确地循环浏览原始列表。你知道吗

相关问题 更多 >