是否可以使用函数返回的列表元组直接扩展多个列表?

2024-04-26 11:54:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个函数,它检查给定函数中的文件和目录更改,并返回一个列表元组,例如:addedFiles, removedFiles, addedDirs, removedDirs。元组中的每个命名子列表都是一个字符串列表(或空)。我需要将函数返回的结果附加到这些列表的本地版本中。在

这一重大修改表明了我所追求的结果:

addedFiles, removedFiles, addedDirs, removedDirs = [],[],[],[]

for dir in allDirs:
    a,b,c,d = scanDir( dir )
    addedFiles.extend( a )
    removedFiles.extend( b )
    addedDirs.extend( c )
    removedDirs.extend( d )

但是,我想知道是否有更好的方法来执行for循环中的部分?
像这样感觉有点。。。丑陋的。在


Tags: 文件函数字符串版本目录列表fordir
2条回答
params = ('addedFiles', 'removedFiles', 'addedDirs', 'removedDirs')
paramDict = dict((param, []) for param in params)

for dir in allDirs:
    for param, data in zip(params, scanDir(dir)):
        paramDict[param].extend(data)

现在你有了一个列表的dict,而不是四个列表。在

怎么样:

 for a,b in zip(lists, extendwith):
     a.extend(b)

相关问题 更多 >