python - python中的for循环帮助
问题描述
需要你的帮助吗?
我正在尝试将列表 newtracks(文件夹中的歌曲名称)与电子表格中的列表 filezto 和专辑相匹配。如果文件夹中的歌曲名称与列表 filezto 匹配,并且有一个 Nasb 专辑,则将其复制到文件夹列表(ordfldrtosrt),如果不是,则将 nasb 专辑复制到列表(ntsubfldrs)。
由于某种原因,当运行 if 语句时不会同步它们以打印它们匹配并将文件复制到文件夹中。我尝试了不同的选项,但无法使其工作。提前致谢。
albm = ["NASB", "NASB", "NASB", "NASB", "NTSB", "NTSB", "NTSB", "NTSB"]
newtracks = [
"Track1.mp3",
"Track2.mp3",
"Track3.mp3",
"Track4.mp3",
"Track5.mp3",
"Track5.mp3",
]
filezto = [
"Track1.mp3",
"Track2.mp3",
"Track3.mp3",
"Track4.mp3",
"Track5.mp3",
"Track5.mp3",
]
ordfldrtosrt = ["1-GEN-GENE", "2 - EXO - Exos", "3 - LEV - Lev", "4 - NUM - Numb"]
ntsubfldrs = ["1-MAT-Matt", "2 - MRK - Mar", "3 - LUK - LI", "4 - JHN - Jo"]
for album in albm:
for newtracks, filezto, ordfldrtosrt, ntsubfldrs in (
(ntk, ft, otm, nts)
for ntk in newtracks
for ft in filezto
for otm in ordfldrtosrt
for nts in ntsubfldrs
):
if album == "Nasb" and newtracks == filezto:
print("Yes", newtracks, " files to", filezto)
# shutil.copy('C:\\Users\\mrdrj\\Desktop\\SJ\\NASB\\'+newtracks, 'D:\\Desktop\\pythonProject\\Nasb\\'+ ordfldrtosrt+'\\'+newtracks)
else:
print("No", newtracks, " files to", filezto)
# shutil.copy('C:\\Users\\mrdrj\\Desktop\\SJ\\NASB\\'+newtracks, 'D:\\Desktop\\pythonProject\\Nasb\\'+ ntsubfldrs +'\\'+newtracks)
解决方案
从您的上一条评论中,我猜您有一个(专辑,曲目)列表,spreadsheet
您正在尝试将其与以下专辑中的曲目列表相匹配folder
:
folder = [
"Track1.mp3",
"Track2.mp3",
"Track3.mp3",
"Track4.mp3",
"Track5.mp3",
"Track5.mp3",
]
spreadsheet = [
( "NASB", "Track1.mp3" ),
( "NASB", "Track2.mp3" ),
( "NASB", "Track3.mp3" ),
( "NASB", "Track4.mp3" ),
( "NASB", "Track5.mp3" ),
( "NASB", "Track5.mp3" ),
( "NTSB", "Track1.mp3" ),
( "NTSB", "Track2.mp3" ),
( "NTSB", "Track3.mp3" ),
( "NTSB", "Track4.mp3" ),
( "NTSB", "Track5.mp3" ),
( "NTSB", "Track5.mp3" )
]
for album, track in spreadsheet:
if album == 'NASB' and track in folder:
print('%s %s' % ('Yes', track))
else:
print('%s %s' % ('No', track))
with 给你输出:
Yes Track1.mp3
Yes Track2.mp3
Yes Track3.mp3
Yes Track4.mp3
Yes Track5.mp3
Yes Track5.mp3
No Track1.mp3
No Track2.mp3
No Track3.mp3
No Track4.mp3
No Track5.mp3
No Track5.mp3
推荐阅读
- flutter - ScrollController:跳转到短列表中的条目
- javascript - 访问数组内的对象数组
- asp.net-core - 自定义验证属性确实显示不正确的错误消息 aspnet core 3
- android - SQLite 游标在升级时返回旧列
- django - 如果 django 表中不存在数据,如何引发错误消息
- javascript - 在 Javascript 中启用/禁用 Gridview (ASP.NET/ASCX) 中的文本框
- ios - 更改 iOS 密码自动填充文本字段顺序
- hyperledger-fabric - 区块是否包含区块的生成时间?
- reactjs - this.props.fetch 不是一个函数 redux
- bash - 如何使用 sed 命令在“=”之后获取值