gpt4 book ai didi

python - 按字符串python选择一个列表

转载 作者:太空宇宙 更新时间:2023-11-04 10:25:27 25 4
gpt4 key购买 nike

我在使用列表时遇到问题。他们有 4 个列表,每个列表都有一个特定的名称:

a=[]
b=[]
c=[]
d=[]

现在我想在这些列表中存储来自一大堆 xls 文件的值。所有这些 xls 文件都有一个与列表对应的名称。例如:

1-2013_a.xls
1-2014_b.xls

我使用以下代码遍历这些文件:

rootdir='C:\users\desktop\folder'  
for subdir, dirs, files in os.walk(rootdir):
for file in files:
....

在这里,我想将 xls 文件中的日期附加到列表中,并使用与文件名相同的字母。我可以这样做:

rootdir='C:\users\desktop\folder'  
for subdir, dirs, files in os.walk(rootdir):
for file in files:
if(file[7]=='a'):
....
if(file[7]=='b'):
....
if(file[7]=='c'):
....
if(file[7]=='d'):
....

但是在我的程序中我有 20 个列表,所以 20 次 if 条件有点奇怪。是否可以在不使用字典的情况下通过字符串调用列表?

谢谢你提前帮助我

最佳答案

您可以使用列表字典:

dct = {"a": [],
...
"d": []}

然后,您可以执行 if file[7] in dct: 并使用 dct[file[7]] 访问列表


更好的是,您可以使用 defaultdict

from collections import defaultdict
dct = defaultdict(list)

现在,在您的代码中,您只需编写:

rootdir='C:\users\desktop\folder'  
for subdir, dirs, files in os.walk(rootdir):
for file in files:
...
dct[file[7]].append(values)

这样,您就不必定义字典的任何键,它们将在运行时使用空列表进行初始化。

关于python - 按字符串python选择一个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29577870/

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