加入词典项目,键

这个问题在这里已经有了答案:

  • 使用'for'循环遍历字典12个答案

  • Python字典是无序的(或者说,它们的顺序是任意的),并且当你迭代它们时,只返回键值:

    >>> d = {'0':0, '1':1, '2':2, '3':3, '4':4}
    >>> print(d)
    {'4': 4, '1': 1, '0': 0, '3': 3, '2': 2}
    

    如果您需要键和值,请使用iDict.items()

    如果您需要订购,请使用collections.OrderedDict


    对字典的迭代只能产生密钥:

    >>> list(iDict)
    ['2_key', '1_key', '4_key', '3_key']
    

    请参阅dict()文档:

    iter(d)
    返回字典键的迭代器。 这是iterkeys()的快捷方式。

    list()str.join()都会在它们的参数上调用iter()来迭代元素。

    字典是无序的容器; 它们的顺序来源于底层数据结构,并取决于键的插入和删除历史记录。

    这在dict.items()

    CPython实现细节 :键和值以非随机的任意顺序列出,因Python实现而异,取决于字典的插入和删除历史。

    另请参阅为什么字典和集合中的顺序是随意的?


    如果你看到文档,你会发现迭代dict返回键。

    你需要遍历dict.items() ,它通过元组(key, value)

    '--'.join(iDict.items())
    

    如果你需要在一个字符串中加入关键的AND值,你需要明确告诉Python如何做到这一点:

    '--'.join('{} : {}'.format(key, value) for key, value in iDict.items())
    
    链接地址: http://www.djcxy.com/p/30357.html

    上一篇: Join dictionary item, keys

    下一篇: Why does the **kwargs mapping compare equal with a differently ordered OrderedDict?