Python中文
首页
教程
问答
标签
搜索
登录
注册
迭代字典键引用的未知数量的列表,以允许比较每个lis中的值
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我最近开始写一个小脚本,我的目的是输入一个充满文件的目录(在本例中是epub、mobi、djvu、pdf)查找除了扩展名(例如同一个“book”有多个电子书文件格式)之外的所有匹配文件,为该“book”创建一个目录,并将这些文件放在容易导入口径。在</p> <p>我决定为文件选择一个数据结构,即列表的dict,其中文件名按扩展名(key)分组成一个list(value)。如果不清楚,这是我的结构模型:{fileExtension:[fileName,fileName,…],fileExtension:[fileName,fileName,…]…}</p> <p>我遇到的问题是,为了匹配每个列表中的各个值(按键分组),如果我不一定知道将有多少个键,我不能只使用for循环的嵌套。在</p> <p>在Windows 64位环境下用python2.7.2编写</p> <p>代码:</p> <pre><code>import glob workDirectory = 'E:\Some eBooks' fileExtensions = ['mobi','epub','pdf','djvu'] # Create an appropriate holding structure for our results {fileExtension:[fileName,fileName,...]} foundFiles = dict.fromkeys(fileExtensions,[]) for ext in fileExtensions: print('Looking for ' + ext + ' files in ' + workDirectory) for file in glob.glob(workDirectory + '/*.' + ext): foundFiles[ext].<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(file) </code></pre> <p>我知道我可以“静态地”编写针对文件内容的循环操作,因为我知道从<code>fileExtensions</code>将有四个键创建,但是以后一旦一切正常,我希望代码通过argparse将任意数量的值传递给<code>fileExtensions</code>。在</p> <p>我想我的核心问题是,如何在多个列表上循环,在同一次迭代中使用可变数量的字典键作为对列表的引用?如果我知道每个列表的静态名称,并且每个列表具有相同数量的值,我会这样做:</p> ^{pr2}$ <p>但我知道这样做是行不通的,因为我不知道我会循环多少个列表,而且我知道每个列表所需的迭代次数不会匹配。在</p> <p>我有一种沉沦的感觉,觉得我把这个问题想得太多了,以至于把自己弄糊涂了。也许一组嵌套的列表可以工作,但出于某种原因,我认为我可以用一种更直接的方式来实现这一点。在</p> <p>如有任何关于如何进行的建议,我们将不胜感激。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>为什么不使用一个简单的列表,包含来自所有目录的所有文件,并且使用regex,可以迭代和列表,找到与当前元素相同文件名匹配的所有文件?在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在用户使用jquery单击按钮(提交选项之前)时突出显示html中的选项
9 回答
如何在用户使用midd注销时删除用户
1 回答
如何在用户停止滑动和缩放时同步范围?
5 回答
如何在用户关闭Android kivy应用程序后恢复上一个活动?
5 回答
如何在用户关闭浏览器后不强制登录
9 回答
如何在用户函数中返回两个数据帧
10 回答
如何在用户创建后更新用户列表字段;信号
3 回答
如何在用户单击Django中的“ok”后触发Javascript警报并重定向页面?
5 回答
如何在用户单击查询后显示消息؟
4 回答
如何在用户可以使用键盘的健身房制作cartpole游戏
1 回答
如何在用户名和密码来自数据库的python脚本中添加最大登录尝试?
9 回答
如何在用户名和密码相同的情况下登录网站?
1 回答
如何在用户向Django注册时添加新的数据库条目?
5 回答
如何在用户和他们进行的不同交易之间建立关系?
2 回答
如何在用户和会话之间创建一对多的关系,其中用户在一方,会话在多方?
1 回答
如何在用户喜欢帖子时动态更新Flask模板?
5 回答
如何在用户在Django中注册后自动将users表链接到另一个表
2 回答
如何在用户定义的Python函数中打印给定参数的长度?
7 回答
如何在用户定义的Python类中实现哈希?
5 回答
如何在用户定义的块中迭代Numpy数组?
10 回答