gpt4 book ai didi

python - 根据子字符串拆分列表元素

转载 作者:行者123 更新时间:2023-12-04 12:30:22 28 4
gpt4 key购买 nike

如何在不显式写代码的情况下,根据点前的字符串拆分该元素中的元素?

lst = ['ds_a.cola','ds_a.colb','ds_b.cola','ds_b.colb']

因为'ds'有两个变体。我想要两个列表。

lst_dsa = ['ds_a.cola','ds_a.colb']
lst_dsb = ['ds_b.cola','ds_b.colb']

我的旧代码是:

lst_dsa = []
lst_dsb = []
for item in lst :
if "ds_a" in item:
lst_dsa.append(item)
else:
lst_dsb.append(item)

但我不能使用它,因为可能有超过 2 个,比如 ds_c、ds_d....我如何在 Python 中实现这一点?

最佳答案

使用字典并保存数据

from collections import defaultdict
lst = ['ds_a.cola','ds_a.colb','ds_b.cola','ds_b.colb','ds_x.cola','ds_x.colb']
data = defaultdict(list)
for entry in lst:
a,_ = entry.split('.')
data[a].append(entry)
print(data)

输出

defaultdict(<class 'list'>, {'ds_a': ['ds_a.cola', 'ds_a.colb'], 'ds_b': ['ds_b.cola', 'ds_b.colb'], 'ds_x': ['ds_x.cola', 'ds_x.colb']})

关于python - 根据子字符串拆分列表元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69522755/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com