python - 将列表附加到列表不会生成列表列表
问题描述
我觉得我已经多次这样做了,但由于某种原因,这并没有产生我期望的输出。
代码片段:
for dup in sorted(list_duplicates(video_list)):
for dup_element in dup[1]:
output_array.append(video_titles[dup_element])
output_array_array.append(output_array)
print(output_array_array)
list_duplicates 的输出接受一个数组并返回一组元组。下面的例子:
[
('1-3A.mp42-1.mp43-3.mp44-1.mp45-1.mp46-1.mp47-7.mp46-2.mp48-1.mp49-2.mp410-2.mp411-3.mp4', [1, 3]),
('1-3B.mp42-1.mp43-3.mp44-1.mp45-1.mp46-1.mp47-7.mp46-2.mp48-1.mp49-2.mp410-2.mp411-3.mp4', [2, 4])
]
for 循环的预期输出是一个列表列表,应该如下所示:
[['Week 3 Day 2', 'Week 3 Day 4',],
['Week 3 Day 3', 'Week 3 Day 5']]
相反,我得到:
[['Week 3 Day 2', 'Week 3 Day 4', 'Week 3 Day 3', 'Week 3 Day 5'],
['Week 3 Day 2', 'Week 3 Day 4', 'Week 3 Day 3', 'Week 3 Day 5']]
我相信错误来自for dup_element in dup[1]:
循环以及我放置的位置,output_array.append
但我似乎无法修复它。
任何帮助,将不胜感激。
解决方案
您需要output_array
在外循环中重新初始化:
for dup in sorted(list_duplicates(video_list)):
output_array = [] # moved from three lines up
现在您一遍又一遍地附加相同的列表。
推荐阅读
- javascript - 使用 TypeORM 使字段/列成为可选/必需
- python-3.6 - 打印索引值的元组索引超出范围
- firebase - 如何避免使用 Firebase 性能跟踪某些 401 网络响应?
- javascript - 如何消除龙卷风/条形图中的缺点
- eclipse - 64 位 Eclipse RCP 应用程序无法在 Program Files 或 Program Files (x86) 中读写
- java - 获取两个 JDialog 实例
- android - 如何将设备文件资源管理器停靠在 Android Studio 3.1.3 中?
- intellij-idea - 无法启动 IntelliJ 版本 2017.1
- airflow - 使用DB动态生成气流任务
- php - Doctrine 找不到列(错误:[column] 未定义。)