2024-04-19 09:30:27 发布
网友
我的python代码有点复杂。你知道吗
print len(list1) print len(list2) dikt = dict(zip(list1,list2)) print len(dikt)
提供:
>> 95 >> 95 >> 26
为什么dikt给我的值是26而不是95,可以加上列表中的元素不一样。 我不知所措。你知道吗
在list1中可能有重复的值。dict不能有重复的键。你知道吗
list1
dict
>>> list1 = [1, 1, 2] >>> list2 = ['a', 'b', 'c'] >>> dikt = dict(zip(list1,list2)) >>> print len(dikt) 2 >>> print dikt {1: 'b', 2: 'c'}
如果list1中有重复条目,则每个条目在dikt中只出现一次。你知道吗
dikt
如果要保留与这些重复键相关的所有值,可以执行以下操作
import collections dikt = collections.defaultdict(list) list1 = [1, 1, 2, 3, 2, 5, 2, 20] list2 = list(range(len(list1))) for k, v in zip(list1, list2): dikt[k].append(v) print(dikt)
这给
defaultdict(<type 'list'>, {1: [0, 1], 2: [2, 4, 6], 3: [3], 20: [7], 5: [5]})
在
list1
中可能有重复的值。dict
不能有重复的键。你知道吗如果
list1
中有重复条目,则每个条目在dikt
中只出现一次。你知道吗如果要保留与这些重复键相关的所有值,可以执行以下操作
这给
相关问题 更多 >
编程相关推荐