如何在python中拆分列表中的数字和字符串
我有数据清单:如何在python中拆分列表中的数字和字符串,python,list,Python,List,我有数据清单:['66306莫桑比克','63344萨尔瓦多','60221新加坡']。我想把数字和字符串分成以下几部分:['66306'、'莫桑比克'、'63344'、'萨尔瓦多'、'60221'、'Singapore'],有什么办法吗?您可以在空格处拆分一次,这将生成列表: lst = ['66306 Mozambique', '63344 El Salvador', '60221 Singapore'] lst = [i.split(" ", 1) for i in l
['66306莫桑比克','63344萨尔瓦多','60221新加坡']
。我想把数字和字符串分成以下几部分:['66306'、'莫桑比克'、'63344'、'萨尔瓦多'、'60221'、'Singapore']
,有什么办法吗?您可以在空格处拆分一次,这将生成列表:
lst = ['66306 Mozambique', '63344 El Salvador', '60221 Singapore']
lst = [i.split(" ", 1) for i in lst]
print(lst)
输出:
[['66306', 'Mozambique'], ['63344', 'El Salvador'], ['60221', 'Singapore']]
['66306', 'Mozambique', '63344', 'El Salvador', '60221', 'Singapore']
然后需要将其展平,例如使用列表理解,如下所示
lst = [item for subl in lst for item in subl]
print(lst)
输出:
[['66306', 'Mozambique'], ['63344', 'El Salvador'], ['60221', 'Singapore']]
['66306', 'Mozambique', '63344', 'El Salvador', '60221', 'Singapore']
请记住有,如果更适合您的情况,请随意使用其他方法。您可以对列表执行联接操作,然后在空格上拆分列表
input = ['66306 Mozambique', '63344 El Salvador', '60221 Singapore']
res = ' '.join(input).split(' ')
print(res)
#output =
['66306', 'Mozambique', '63344', 'El', 'Salvador', '60221', 'Singapore']
如果元素之间用空格分隔,则可以使用split()
[e代表elt,x代表elt.split()中的e]