【问题标题】:Splitting list into multiple lists - depending on elements index [duplicate]将列表拆分为多个列表 - 取决于元素索引 [重复]
【发布时间】:2019-11-08 16:02:38
【问题描述】:

我有一个包含 4 个元素的列表(元素的数量是动态的)。每个元素包含 5 个不同语言的短语/句子的字符串,用“;”分隔分隔符。语言如下:ENG、FRE、GER、SPA、ITA。短语总是按此顺序出现在列表中的每个元素内。我现在正试图将这些短语从整个列表中提取到他们自己的语言列表中。

我已经设法使用分隔符和 我尝试将此列表转换为字符串并使用字符串切片来获取结果,但我无法找到使用代码编写它的方法。

list2 = combinedList .split(';')

hi = list2[0:2]
print(hi)
for element in range(0, len(list2)):
    print (list2[element])

这是原始未更改的列表:

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;'
']

我希望结果是:

ENG = ['40% Football, 30% Basketball, 20% Baseball, 10% Rugby']
FRE = ['40% Football, 30% Basketball, 20% Base-Ball, 10% Le Rugby']
GER = ['40% Fuball, 30% Basketball, 20% Baseball, 10% Rugby']
SPA = ['40% Futbol, 30% Baloncesto, 20% Baseball, 10% Rugby']
FRE = ['40% Calcio, 30% Pallacanestro, 20% Béisbol, 10% Rugby']

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    您可以在列表理解中拆分字符串并使用zip

    list(zip(*[i.split(';') for i in combinedList]))
    
    [('40% Football', '30% Basketball', '20% Baseball', '10% Rugby'),
     ('40% Football', '30% Basketball', '20% Base-Ball', '10% Le Rugby'),
     ('40% Fuball', '30% Basketball', '20% Baseball', '10% Rugby'),
     ('40% Futbol', '30% Baloncesto', '20% Béisbol', '10% Rugby'),
     ('40% Calcio', '30% Pallacanestro', '', '10% Rugby')]
    

    【讨论】:

      猜你喜欢
      • 2018-12-22
      • 1970-01-01
      • 1970-01-01
      • 2022-12-20
      • 1970-01-01
      • 1970-01-01
      • 2019-03-14
      • 1970-01-01
      • 2020-06-08
      相关资源
      最近更新 更多