Python中的字典(Dictionary)

字典由key和value两部分在组成。

键(key),对应值(value):key和value之间是成对出现的,每一个键对应一个值。

例:

#创建一个词典dictionary
phone_book = {'Tom': 123, "Jerry": 456, 'Kim': 789}   #在Python中使用花括号{}的方式表示dictionary
mixed_dict = {"Tom": 'boy', 11: 23.5}            #由于Python是一门灵活的语言,故词典中的数据类型没有限制,可以是任何数据类型混合在一起

#访问词典里的值
print("Tom's number is " + str(phone_book['Tom']))
print('Tom is a ' + mixed_dict['Tom'])

#修改词典里的值
phone_book['Tom'] = 999

#给词典添加一个新的项目
phone_book['Heath'] = 888
print("phone_book: " + str(phone_book))
phone_book.update({'Ling':159, 'Lili':247})
print("updated phone_book: " + str(phone_book))

#删除词典元素以及词典本身
del phone_book['Tom']
print("phone_book after deleting Tom: " + str(phone_book))

#清空词典
phone_book.clear()
print("after clear: " + str(phone_book))

#删除词典
del phone_book
#print("after del: " + str(phone_book))     #系统会报错,因为整个词典已被删除

#词典中两个重要的限制
#(1)不允许同一个键出现两次
rep_test = {'Name': 'aa', 'age':5, 'Name': 'bb'}  #系统只会打印出两个元素,其中重复的元素会自动覆盖前面同名的元素
print("rep_test: " + str(rep_test))

#(2)词典中键必须是不可变的元素,所以可以用数字,字符串或者元组充当,但是不能用列表(因为列表是可变的)
# list_dict = {['Name']: 'John', 'Age':13}     #因为他的键是列表,是可变的,不符合要求,故会报错
list_dict = {('Name'): 'John', 'Age':13}      #因为他的键是元组,是不可变的,符合要求,故不会报错


字典中内置函数及方法
Python字典包含了以下内置函数:
# 1、cmp(dict1, dict2):比较两个字典元素。
# 2、len(dict):计算字典元素个数,即键的总数。
# 3、str(dict): 输出字典可打印的字符串表示。
# 4、type(variable):返回输入的变量类型,如果变量是字典就返回字典类型。
Python字典包含了以下内置方法:
# 1、radiansdict.clear():删除字典内所有元素
# 2、radiansdict.copy():返回一个字典的浅复制
# 3、radiansdict.fromkeys():创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
# 4、radiansdict.get(key, default=None):返回指定键的值,如果值不在字典中返回default值
# 5、radiansdict.has_key(key):如果键在字典dict里返回true,否则返回false
# 6、radiansdict.items():以列表返回可遍历的(键, 值) 元组数组
# 7、radiansdict.keys():以列表返回一个字典所有的键
# 8、radiansdict.setdefault(key, default=None):和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default
# 9、radiansdict.update(dict2):把字典dict2的键/值对更新到dict里
# 10、radiansdict.values():以列表返回字典中的所有值

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值