python字典你可能不知道的操作【含代码示例】

本文介绍了Python字典的四种创建方法,包括使用`dict()`、字典推导、`fromkeys()`以及直接定义空字典。此外,还详细讲解了如何使用`get`方法安全地从字典中获取值,当键不存在时返回`None`或自定义默认值。通过实例展示了字典的`keys()`和`values()`方法用于获取字典的键和值。
摘要由CSDN通过智能技术生成

目录

前言

一、创建字典的几种方式

1、用dic()创建字典

2、字典推导

3、使用fromkeys创建字典

4、直接定义个空字典

二、从字典中用get获取值


前言

字典 (Dictionary)是Python提供的一种常用的数据结构,由键(key)和值(value)成对组成,键和值中间以冒号:隔开,项之间用逗号隔开,整个字典由大括号 {}括起来 。 字典也被称作关联数组或哈希表。
今天跟大家分享几个关于python字典的操作。


一、创建字典的几种方式

1、用dic()创建字典

>>> dict([('name','xiaozhang'),('age',80)])
{'name': 'xiaozhang', 'age': 80}

2、字典推导

列表推导式之前我们都说过,可以实现列表的生成,同样字典推导也可以创建出需要的字典:

>>> {d:d**2 for d in range(4)},
({0: 0, 1: 1, 2: 4, 3: 9},)

3、使用fromkeys创建字典

dict.fromkeys(keys, value) 方法可以根据给出的键列表创建一个新的字典,值设置为提供的值,如果没有提供,则默认都为None。

>>> names = ('xiaozhang','xiaowang','xiaoqiang')
>>> ages = dict.fromkeys(names,None)
>>> ages
{'xiaozhang': None, 'xiaowang': None, 'xiaoqiang': None}
>>>
>>> ages = dict.fromkeys(names,22)
>>>
>>> ages
{'xiaozhang': 22, 'xiaowang': 22, 'xiaoqiang': 22}

4、直接定义个空字典

有时我们需要定义个空的字典,待我们处理完数据后进行加入这个空字典中,如下:

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

二、从字典中用get获取值

从字典中获取值的一个推荐方法是用get,这个方法如果字典中没有值,返回None,同时在没有值的情况下我们也可以指定自己的默认值:

>>> names = {'name':'xiaozhang','age':10}
>>> names.get('name')
'xiaozhang'
>>>
>>> names.get('sex')
>>> r = names.get('sex')
>>> print(r)
None
>>> r = names.get('sex','男')
>>> print(r)
男

keys和values()

key()返回所有字典的键,values()返回字典所有的值,一般获取完后我们可以通过一个for循环来遍历这个字典,来得到整个字典的键值。

>>> names = {'name':'xiaozhang','age':10,'sex':'男','school':'xiaoxue','city':'beijing'}
>>> keys = names.keys()
>>> values = names.values()
>>>
>>> print(keys)
dict_keys(['name', 'age', 'sex', 'school', 'city'])
>>> print(values)
dict_values(['xiaozhang', 10, '男', 'xiaoxue', 'beijing'])
>>> for k in names.keys():
...     print(k)
...
name
age
sex
school
city
>>> for k in names.keys():
...     print(k,names[k])
...
name xiaozhang
age 10
sex 男
school xiaoxue
city beijing

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值