python3数据类型之字典

上一次说完列表,这一次说下字典(dict)。

字典的格式前面两篇文章都有提到,就是用{}括起来的与键(key)相对应的值对(value),就像是词典中每一个字对应一个注释。具体格式如下:

#数字#
>>> {1:99,2:98,3:97,4:96,5:95,6:94,7:93,8:92,9:91}
{1: 99, 2: 98, 3: 97, 4: 96, 5: 95, 6: 94, 7: 93, 8: 92, 9: 91}

#字符串#
{'1':'99','2':'98','3':'97','4':'96','5':'95','6':'94','7':'93','8':'92','9':'91'}
{'1': '99', '2': '98', '3': '97', '4': '96', '5': '95', '6': '94', '7': '93', '8': '92', '9': '91'}

字典和集合一样是无序的。字典只能通过key来访问value,而如果一个字典里有多个重复的key,那么字典会默认保存最后一个value值。如下:

>>> {1:99,1:98,1:97,4:96,5:95,6:94,7:93,8:92,9:91}
{1: 97, 4: 96, 5: 95, 6: 94, 7: 93, 8: 92, 9: 91}

而如果一个是字符串的1一个是数字的1,字典也不会把他们认为是同一个key。


>>> {1:99,'1':98,3:97,4:96,5:95,6:94,7:93,8:92,9:91}[1]
99

>>> {1:99,'1':98,3:97,4:96,5:95,6:94,7:93,8:92,9:91}['1']
98

字典的值对(value)可以是python中的所有数据类型,比如列表、字典、元组、集合、字符等等。

#在字典中嵌套字典#
>>> {1:{1:2},3:97,4:96,5:95,6:94,7:93,8:92,9:91}
{1: {1: 2}, 3: 97, 4: 96, 5: 95, 6: 94, 7: 93, 8: 92, 9: 91}

#在字典中嵌套集合#
>>> {1:{1,2,3},3:97,4:96,5:95,6:94,7:93,8:92,9:91}
{1: {1, 2, 3}, 3: 97, 4: 96, 5: 95, 6: 94, 7: 93, 8: 92, 9: 91}

#在字典中嵌套列表#
>>> {1:[1,2,3],3:97,4:96,5:95,6:94,7:93,8:92,9:91}
{1: [1, 2, 3], 3: 97, 4: 96, 5: 95, 6: 94, 7: 93, 8: 92, 9: 91}

#在字典中嵌套元组#
>>> {1:(1,2,3),3:97,4:96,5:95,6:94,7:93,8:92,9:91}
{1: (1, 2, 3), 3: 97, 4: 96, 5: 95, 6: 94, 7: 93, 8: 92, 9: 91}

而字典的键(key)则必须是python中不可变的数据类型,比如str、int、tuple(tuple的特点就是数据类型是无法更改的)等等。

>>> {1:98,3:97,4:96,5:95,6:94,7:93,8:92,9:91}
{1: 98, 3: 97, 4: 96, 5: 95, 6: 94, 7: 93, 8: 92, 9: 91}

>>> {'1':98,3:97,4:96,5:95,6:94,7:93,8:92,9:91}
{'1': 98, 3: 97, 4: 96, 5: 95, 6: 94, 7: 93, 8: 92, 9: 91}

>>> {(1,2,3):98,3:97,4:96,5:95,6:94,7:93,8:92,9:91}
{(1, 2, 3): 98, 3: 97, 4: 96, 5: 95, 6: 94, 7: 93, 8: 92, 9: 91}

字典也是和列表一样可以进行查增删改。

访问/读取直接输入key即可。

#这里的[1]不是指数字1,而是字典中的key[1]#
>>> {1:98,3:97,4:96,5:95,6:94,7:93,8:92,9:91}[1]
98

增加数据不像列表一样,字典不能使用+,而是需要通过变量跳转。

>>> first = {1:98,3:97,4:96,5:95,6:94,7:93,}
>>> first[8] = 92
>>> print (first)
{1: 98, 3: 97, 4: 96, 5: 95, 6: 94, 7: 93, 8: 92}

修改则和增加差不多。

>>> first = {1:98,3:97,4:96,5:95,6:94,7:93,}
>>> first[7] = 92
>>> print (first)
{1: 98, 3: 97, 4: 96, 5: 95, 6: 94, 7: 92}

至于删除则是使用del语句。

#del删除的值永远消失了#
>>> first = {1:98,3:97,4:96,5:95,6:94,7:93,}
>>> del first[7]
>>> print (first)
{1: 98, 3: 97, 4: 96, 5: 95, 6: 94}

关于定义空字典,则是直接使用空的{}即可。

>>> type({})
<class 'dict'>

最后,关于字典还有一个特性,就是可以换行写代码,不用加任何的转义字符,只需要在,后面按回车便会自动缩进(只有有缩进才有效)。

>>> {1:98,
         3:97,
         4:96,
         5:95,
         6:94,
         7:93}
{1: 98, 3: 97, 4: 96, 5: 95, 6: 94, 7: 93}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值