python 字符串、列表、元组、字典不同及让字典添加顺序有序

在这里插入图片描述
注意:
(1)有序的数据类型都有下标,可通过下标访问,如字符串、列表、元组可以,字典就不行
(2)列表可修改,元组不可修改,但元组中的可变元素能修改,如元组中的列表,我们可通过元组索引定位到该列表并修改列表元素。
(3)可变元素不能做字典的键,如列表不能为键,因为列表可修改啊
(4)字典本身无序,转换为其他的数据类型也是是无序的,这次转换的是这种顺序,下一次转换可能就是另一种顺序了
(5)字典能够让信息关联,但不记录键值对添加顺序。要创建字典并记录添加顺序可用模块collections中的OrderDict类。OrderDict实例的行为几乎与字典相同,区别“只”在于记录了键值对的添加顺序。
OrderDict类兼具列表和字典的主要优点(在将信息关联起来时保留原来的顺序)

from collections import OrderedDict

# OrderedDict() 返回一个空的有序字典,谁先进来谁在前面,且先打印
favorite_languages = OrderedDict()
# 为了醒目用汉字了
favorite_languages['黎明'] = 'python'
favorite_languages['周星驰'] = 'c'
favorite_languages['紫霞'] = 'Java'
favorite_languages['我'] = 'python'

for name, language in favorite_languages.items():
    print(name + "'s favorite language is " + language.title() + '.')

结果为:

在这里插入图片描述

#这两句的输出有点不一样:  OrderedDict   与    odict_items
print(favorite_languages)
print(favorite_languages.items())

输出:

OrderedDict([('黎明', 'python'), ('周星驰', 'c'), ('紫霞', 'Java'), ('我', 'python')])
odict_items([('黎明', 'python'), ('周星驰', 'c'), ('紫霞', 'Java'), ('我', 'python')])

最重要的是,内元素虽然打印出来是元组,并不影响原字典修改,因为这些元组是根据修改后的字典打出来的,我们修改字典就好了,我们又不是直接修改这些元组

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值