在python中合并和编辑两个列表

问题描述 投票:-1回答:1

我有两个长度完全相同的列表。第一个列表是一个仅包含数字的列表(百分比)第二个列表稍微复杂一点。它与第一个元素具有相同数量的元素,但是每个元素由多个字符串组成,以分号分隔。

percList = ['40%', '30%', '20%', '10%']
sportName = ['Football;Football;Fuball;Futbol;Calcio','Basketball;Basketball;Basketball;Baloncesto;Pallacanestro',
'Baseball;Base-Ball;Baseball;Béisbol,', 'Rugby;Le Rugby;Rugby;Rugby;Rugby',]

我需要做的是将这两个列表合并为一个-并在每种语言前面添加百分比。第一个列表中的每个百分比应与第二个列表中相同的索引元素一起使用。我正在寻找的输出是:

combinedList = ['
40% Football;40% Football;40% Fuball;40% Futbol;40% Calcio,
30% Basketball;30% Basketball;30% Basketball;30% Baloncesto;30% Pallacanestro,
20% Baseball;20% Base-Ball;20% Baseball;20% Béisbol,
10% Rugby;10% Le Rugby;10% Rugby;10% Rugby;10% Rugby
']
python
1个回答
0
投票

尝试一下:

>>> [';'.join(map(lambda x:i+' '+x,j.split(';'))) for i, j in zip(percList,sportName)]
['40% Football;40% Football;40% Fuball;40% Futbol;40% Calcio',
 '30% Basketball;30% Basketball;30% Basketball;30% Baloncesto;30% Pallacanestro',
 '20% Baseball;20% Base-Ball;20% Baseball;20% Béisbol,',
 '10% Rugby;10% Le Rugby;10% Rugby;10% Rugby;10% Rugby']

-1
投票

Python> = 3.7

[ f"{x} {y}"  for x,y in zip(percList, sportName)]

输出:

['40% Football;Football;Fuball;Futbol;Calcio',
 '30% Basketball;Basketball;Basketball;Baloncesto;Pallacanestro',
 '20% Baseball;Base-Ball;Baseball;Béisbol,',
 '10% Rugby;Le Rugby;Rugby;Rugby;Rugby']
© www.soinside.com 2019 - 2024. All rights reserved.