pythonzip2作为字典截断的长列表

2024-09-30 02:28:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是python2.7。 我有两个长长的清单:

id=['avc-asd','asd-red'.....]
name=['car','toy',.....]

print len(id) #600
print len(name) #600

my_dict=dict(zip(id,name))
print len(my_dict) #20
print my_dict
#{'avcf-asd':'car','asd-red':'toy'...}

知道为什么会发生截短吗?:-/


我也试过使用izipè,但我得到了相同的结果。你知道吗

    from itertools import izip_longest

        my_dict=dict(izip_longest(id,name))
        print len(my_dict) #20

Tags: nameidlenlongestmyredzipcar
1条回答
网友
1楼 · 发布于 2024-09-30 02:28:04

我已经把我的评论移到了一个回复帖上,因为OP已经指出它解决了这个问题。你知道吗

基本上,您需要确保字典的键是唯一的,而且,正如您所指出的,事情的顺序也很重要。考虑以下示例代码:

>>> ids = ['1', '2', '3']
>>> names = ['a', 'b', 'a']
>>> dict(zip(ids, names))        # works fine; no duplicates in ids
{'1': 'a', '3': 'a', '2': 'b'}
>>> dict(zip(names, ids))        # truncates due to duplicates in names
{'a': '3', 'b': '2'}

相关问题 更多 >

    热门问题