python - 从其他两个列表的值构建新列表不起作用
问题描述
我有一个问题,无法在论坛内找到答案,所以我希望有人能够帮助我,因为它接缝我自己无法弄清楚:)
def loadData(uid):
// ...
return [uid,u'',u'',u'',u'',u'',u'',u'',u'',]
evts = []
uids = [7, 43,]
for uid in uids:
evts.append(loadData(uid))
tmpdata = [[None] * len(evts)] * len(evts[0])
print tmpdata
for iKey in range(len(tmpdata)):
for iEvt in range(len(tmpdata[iKey])):
tmpdata[iKey][iEvt] = evts[iEvt][iKey]
print iKey, iEvt, tmpdata[iKey]
print tmpdata
Normaly 我想在子列表中创建一个包含每个属性的列表,因此例如 0,0 和 0,1 索引必须是每个数据的 uid 值(7 和 43),但正如您在此处看到的那样,它不起作用通缉....
result:
[[None, None], [None, None], [None, None], [None, None], [None, None], [None, None], [None, None], [None, None],
[None, None], [None, None], [None, None], [None, None], [None, None], [None, None], [None, None], [None, None],
[None, None], [None, None], [None, None], [None, None], [None, None], [None, None], [None, None], [None, None],
[None, None], [None, None], [None, None], [None, None], [None, None], [None, None]]
0
0[7, None]
0
1[7, 43]
1
0[u'Matthias Reim & Band', 43]
1
1[u'Matthias Reim & Band', u'Der Nussknacker']
...
[[None, None], [None, None], [None, None], [None, None], [None, None], [None, None], [None, None], [None, None],
[None, None], [None, None], [None, None], [None, None], [None, None], [None, None], [None, None], [None, None],
[None, None], [None, None], [None, None], [None, None], [None, None], [None, None], [None, None], [None, None],
[None, None], [None, None], [None, None], [None, None], [None, None], [None, None]]
我想要这样的结果:
[[7, 43], [u'Matthias Reim & Band', u'Der Nussknacker'], ...]
解决方案
tmpdata_surprise = [[None] * len(evts)] * len(evts[0])
tmpdata = [[None]*len(evts)for _ in range(len(evts[0]))]
推荐阅读
- python - 查找两个连续日期之间的日期
- snowflake-cloud-data-platform - 雪花 - 如何查询流的元数据并保存到表
- javascript - 无法控制台日志数组数据(从 promise 推送)
- html - 基于 RadioField 选择的 Flask WTForm 隐藏/显示表单问题
- c - 通过示例头文件“fgicfunc.h”查找 Informix4GL
- azure - Azure DataWarehouse 中的数据加载_需要解决方案
- javascript - 如何设置从 100 中减去的状态数据和函数内的数据本身?
- c# - 在 DataGrid 列中显示 Gif
- r - Data.table:不规则日期范围之间的总和
- oracle - 在从 oracle db 导出到 csv 期间防止数字舍入