请参阅下面的连接方法代码片段(使用Python 2.7.2):
iDict={'1_key':'abcd','2_key':'ABCD','3_key':'bcde','4_key':'BCDE'}
'--'.join(iDict)
Run Code Online (Sandbox Code Playgroud)
结果显示为
'2_key--1_key--4_key--3_key'
Run Code Online (Sandbox Code Playgroud)
请评论为什么只有密钥加入?序列也不按顺序排列.
注意 - 以下是各个方法.
'--'.join(iDict.values())==> 'ABCD--abcd--BCDE--bcde' ==>序列不按顺序排列'--'.join(iDict.keys()) ==> '2_key--1_key--4_key--3_key'==>序列不在orde中如果您看到文档,您将学习迭代dict返回键.
你需要迭代dict.items(),它超过元组(key, value):
'--'.join(iDict.items())
Run Code Online (Sandbox Code Playgroud)
如果需要在一个字符串中加入关键AND值,则需要明确告诉Python如何执行此操作:
'--'.join('{} : {}'.format(key, value) for key, value in iDict.items())
Run Code Online (Sandbox Code Playgroud)
仅在字典上进行迭代才产生键:
>>> list(iDict)
['2_key', '1_key', '4_key', '3_key']
Run Code Online (Sandbox Code Playgroud)
请参阅dict()文档:
iter(d)
在字典的键上返回一个迭代器。这是的快捷方式iterkeys()。
双方list()并str.join()会打电话给iter()他们的争论中的元素进行迭代。
字典是无序的容器;它们的顺序来自基础数据结构,并取决于密钥的插入和删除历史记录。
这记录在dict.items():
CPython实现细节:键和值以任意顺序列出,该顺序是非随机的,在Python实现中会有所不同,并且取决于字典的插入和删除历史。
Python 字典是无序的(或者更确切地说,它们的顺序是任意的),当您对它们进行迭代时,只返回键:
>>> d = {'0':0, '1':1, '2':2, '3':3, '4':4}
>>> print(d)
{'4': 4, '1': 1, '0': 0, '3': 3, '2': 2}
Run Code Online (Sandbox Code Playgroud)
如果您需要键和值,请使用iDict.items().
如果您需要订购,请使用collections.OrderedDict.
| 归档时间: |
|
| 查看次数: |
19343 次 |
| 最近记录: |