gpt4 book ai didi

python - 如何根据python中的不同条件动态创建列表?

转载 作者:行者123 更新时间:2023-12-02 16:22:32 24 4
gpt4 key购买 nike

文本文件:

Animals
Tiger
Lion
Cat
Mice
Birds
Parrot
Peacock
Hen
chicken
Reptiles
Mammals

我想根据缩进动态分隔单词并将其存储在不同的列表中

预期输出:

a=['Animals','Birds','Reptiles','Mammals']
b=['Tiger','Lion','Parrot','Peacock']
c=['Cat','Hen']
d=['Mice','Chicken']

这是我的代码:

a=[]
b=[]
c=[]
d=[]
for i in text:
indent = len(i)-len(i.lstrip())
if indent == 0:
a.append(i)
if indent == 2:
b.append(i)
if indent == 4:
c.append(i)
if indent == 6:
d.append(i)

它给出了预期的输出,但我希望它采用动态方法。

最佳答案

您可以使用 defaultdict :

from collections import defaultdict
data = defaultdict(list)
with open('test.txt') as f:
for line in f:
indentation_level = (len(line) - len(line.lstrip())) // 2
data[indentation_level].append(line.strip())

for indent_level, values in data.items():
print(indent_level, values)
0 ['Animals', 'Birds', 'Reptiles', 'Mammals']1 ['Tiger', 'Lion', 'Parrot', 'Peacock']2 ['Cat', 'Hen']3 ['Mice', 'chicken']

关于python - 如何根据python中的不同条件动态创建列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65233820/

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