如何将列表中含多元素的字符串转换为嵌套列表?
问题解决:将列表中多球队字符串转为嵌套子列表
原输入列表
original_list = ['Man City', 'Chelsea', 'Man City', 'Man City', 'Man City', 'Man City', 'Chelsea, Real Madrid, Sevilla', 'West Brom, Sunderland, PSG', 'Man City', 'Man City']
目标输出
需要将包含多个球队名称的逗号分隔字符串转换为子列表,最终得到嵌套列表:
['Man City', 'Chelsea', 'Man City', 'Man City', 'Man City', 'Man City', ['Chelsea', 'Real Madrid', 'Sevilla'], ['West Brom', 'Sunderland', 'PSG'], 'Man City', 'Man City']
实现代码
用Python列表推导式可以快速完成这个转换:
original_list = ['Man City', 'Chelsea', 'Man City', 'Man City', 'Man City', 'Man City', 'Chelsea, Real Madrid, Sevilla', 'West Brom, Sunderland, PSG', 'Man City', 'Man City'] # 遍历每个元素,判断是否包含多球队,是则分割为子列表 result = [item.split(', ') if ', ' in item else item for item in original_list] # 输出结果 print(result)
代码说明
- 遍历原列表的每一个元素
- 检查元素中是否存在
,(逗号加空格),这是多球队名称的分隔标识 - 如果存在,用
split(', ')将字符串按分隔符拆分为子列表;不存在则直接保留原字符串 - 最终生成符合要求的嵌套列表
内容的提问来源于stack exchange,提问作者order66
相关产品推荐
相关产品推荐

