【发布时间】:2015-01-03 07:34:30
【问题描述】:
我有两个列表:一个包含文件名,另一个包含对应文件名的时间戳。
这是我的代码:
for afile in filelist:
for times in timestamps:
self.importFiles(afile,times)
但是这段代码会调用函数为同一个文件打印不同的时间戳。
【问题讨论】:
标签: python list function parameter-passing
我有两个列表:一个包含文件名,另一个包含对应文件名的时间戳。
这是我的代码:
for afile in filelist:
for times in timestamps:
self.importFiles(afile,times)
但是这段代码会调用函数为同一个文件打印不同的时间戳。
【问题讨论】:
标签: python list function parameter-passing
Pythonic 方式,使用zip 函数:
for afile, timestamp in zip(filelist, timestamps):
self.importFiles(afile,timestamp)
【讨论】:
您正在使用嵌套的 for 循环。所以对于每个文件名,所有的时间戳都会被打印出来。使用单个 for 循环。
length = len(filelist)
for i in range(length):
self.importFiles(filelist[i],timestamps[i])
【讨论】:
你可以使用enumerate:
for i, file in enumerate(filelist):
self.importFiles(file,timestamps[i])
这将导致 i 成为索引和文件 filelist 的相应条目。
【讨论】: