我有四个看起来像这样的列表:
lista = [['l', 'k'],['e', '3'],['c', 'k'],['x', 'i'],['d', 'f']]
listanum = [1,2,3,4,5]
listb = [['a', 'k'],['c', 'm'],['v', 'f']]
listbnum = [1,3,4]
lista
并且listanum
是同步的,listb
也是listbnum
。我想制作一个字典,其中键是项目,listanum
值是项目lista
和listb
,结果将是:
di = {1: [['l','k'],['a', 'k']],
2: [['e', '3'],[]],
3:[['c','k'],['c', 'm']],
4: [['x', 'i'],['v', 'f']],
5: [['d', 'f'][]]
}
因此,如果 listb 中的 listanum 中的数字没有值,则字典值中的第二个列表为空。
我试过这个:
di = {}
for i in xrange(len(lista)):
pos = listanum[i]
if pos not in di:
di[pos] = [[],[]]
di[pos][0].append(lista[i])
if i in listbnum:
di[pos][1].append(listb[i])
但收到此错误消息:'IndexError: list index out of range'
。我看不出为什么超出范围???