感谢所有已经回答的人。 zip和os.path.join真的很有帮助。关于如何在前面列出柜台的建议,不做这样的事情:
zip(range(len(files)), files, directories)
< /编辑>
嗨,
我正在学习Python,但我来自一个背景,下面的伪代码是典型的:
directories = ['directory_0', 'directory_1', 'directory_2']
files = ['file_a', 'file_b', 'file_c']
for(i = 0; i < directories.length; i++) {
print (i + 1) + '. ' + directories[i] + '/' + files[i] + '\n'
}
# Output:
# 1. directory_0/file_a
# 2. directory_1/file_b
# 3. directory_2/file_c
在Python中,我现在写上面的方式就像这样:
directories = ['directory_0', 'directory_1', 'directory_2']
files = ['file_a', 'file_b', 'file_c']
for i in range(len(directories)):
print '%s. %s/%s' % ((i + 1), directories[i], files[i]
# Output:
# 1. directory_0/file_a
# 2. directory_1/file_b
# 3. directory_2/file_c
在阅读Dive到Python时,Mark Pilgrim说,为计数器使用for循环是“Visual Basic风格思考”(Simple Counters)。他继续演示如何使用循环与字典,但从来没有真正地解决一个python解决方案,如何循环计数器通常用于其他语言。
我希望有人能告诉我如何在Python中正确编写上述方案。有可能做一个不同的方式吗?
如果我拿出了增加的行数,是否可以使用某种列表理解来匹配两个列表?
例如,如果我想从输出中得到的全部是这个(没有计数器,这是可能的列表理解):
# Output:
# directory_0/file_a
# directory_1/file_b
# directory_2/file_c
提前感谢任何帮助。