sunshine_cjy 发表于 2016-6-1 14:49:29

关于Python中的字典

#!/usr/bin/python
# -*- coding: UTF-8 -*-

dict = {}
dict['one'] = "This is one"
dict = "This is two"

tinydict = {'name': 'john','code':6734, 'dept': 'sales'}


print dict['one'] # 输出键为'one' 的值
print dict # 输出键为 2 的值
print tinydict # 输出完整的字典
print tinydict.keys() # 输出所有键
print tinydict.values() # 输出所有值
-------------------------------------------------------------------------------------------------------------------
输出结果:
This is one
This is two
{'dept': 'sales', 'code': 6734, 'name': 'john'}
['dept', 'code', 'name']
['sales', 6734, 'john']

----------------------------------------------------------------------
没搞明白的是为啥这边输出完整字典和所有键、所有值的时候,是倒序输出的??
有没有Python大神知道。。
我才入门学习ing
谢谢

若尘_51 发表于 2016-6-1 15:27:14

python的字典并没有顺序可言,打印的顺序是随机的,并不是你说的倒序。
字典是通过键和值关联起来的,而不像列表、数组那样通过索引.

例子:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
tinydict = {'1': 'john','2':6734, '3': 'sales'}
print tinydict # 输出完整的字典
print tinydict.keys() # 输出所有键
print tinydict.values() # 输出所有值
执行结果:
{'1': 'john', '3': 'sales', '2': 6734}
['1', '3', '2']
['john', 'sales', 6734]

掉渣饼 发表于 2016-6-1 15:34:43

字典是无序的
如果你想排列可以按如下方法

函数原型:sorted(dic,value,reverse)
解释:dic为比较函数,value 为排序的对象 (这里指键或键值);reverse:注明升序还是降序,True--降序,False--升序(默认)

举例:比如你想把你的字典按键降序排列 如下
tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
print sorted(tinydict.iteritems(), key=lambda t:t, reverse=True)

举例:比如你想把你的字典按键值生序排列 如下
tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
print sorted(tinydict.iteritems(), key=lambda t:t, reverse=True)

sunshine_cjy 发表于 2016-6-2 08:59:13

若尘_51 发表于 2016-6-1 15:27
python的字典并没有顺序可言,打印的顺序是随机的,并不是你说的倒序。
字典是通过键和值关联起来的,而不 ...

奥,明白了。
也就是说这边打印的结果顺序是随机的,任何顺序都有可能奥。

谢谢啦

sunshine_cjy 发表于 2016-6-2 08:59:59

掉渣饼 发表于 2016-6-1 15:34
字典是无序的
如果你想排列可以按如下方法



非常感谢大神!又学习了!
:loveliness:
页: [1]
查看完整版本: 关于Python中的字典