最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

Python字典经典代码大全_Python遍历

XAMPP案例 admin 1402浏览 0评论

#今日Python分享#

Python字典 

一.字典的应用场景

字典里面的数据是以==键值对==形式出现,字典数据和数据顺序没有关系,即字典不支持下标,后期无论数据如何变化,只需要按照对应的键的名字查找数据即可。

二.创建字典的语法

字典特点:

  • 符号为==大括号==

  • 数据为==键值对==形式出现

  • 各个键值对之间用==逗号==隔开

# 有数据字典
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}

# 空字典
dict2 = {}

dict3 = dict()

注意:一般称冒号前面的为键(key),简称k;冒号后面的为值(value),简称v

#01#

字典的常用操作

写法:==字典序列[key] = 值==

注意:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对。

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}

dict1['name'] = 'Rose'
# 结果:{'name': 'Rose', 'age': 20, 'gender': '男'}
print(dict1)

dict1['id'] = 110

# {'name': 'Rose', 'age': 20, 'gender': '男', 'id': 110}
print(dict1)

注意:字典为可变类型。

 

  • del() / del:删除字典或删除字典中指定键值对。

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}

del dict1['gender']
# 结果:{'name': 'Tom', 'age': 20}
print(dict1)
  • clear():清空字典

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}

dict1.clear()
print(dict1) # {}

写法:==字典序列[key] = 值==

注意:如果key存在则修改这个key对应的值 ;如果key不存在则新增此键值对。

值查找

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1['name']) # Tom
print(dict1['id']) # 报错

如果当前查找的key存在,则返回对应的值;否则则报错。

get()

  • 语法

字典序列.get(key, 默认值)

注意:如果当前查找的key不存在则返回第二个参数(默认值),如果省略第二个参数,则返回None。

  • 快速体验

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1.get('name')) # Tom
print(dict1.get('id', 110)) # 110
print(dict1.get('id')) # None

keys()

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1.keys()) # dict_keys(['name', 'age', 'gender'])

values()

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1.values()) # dict_values(['Tom', 20, '男'])

items()

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1.items()) # dict_items([('name', 'Tom'), ('age', 20), ('gender', '男')])
 #02#

字典的循环遍历 

遍历字典的key

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for key in dict1.keys():
print(key)

 遍历字典的value

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for value in dict1.values():
print(value)

遍历字典的元素

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for item in dict1.items():
print(item)

遍历字典的键值对

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for key, value in dict1.items():
print(f'{key} = {value}')
#03#

  字典是另一种可变容器模型,且可存储任意类型对象。 

主要存储具有映射关系的数据                                                              

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

一个简单的字典实例:

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

也可以这样创建字典

dict1 = { 'abc': 456 };dict2 = { 'abc'12398.637 }

访问字典里的值     

把相应的键放入熟悉的方括弧,如下实例:

dict = {'Name''Zara''Age': 7, 'Class''First'}print (dict['Name'])print (dict['Age'])
# 输出Zara7

如果用字典里没有的键访问数据,会输出错误如下:

dict = {'Name''Zara''Age': 7, 'Class''First'}print(dict['Alice'])# 输出Traceback (most recent call last):  File "test.py", line 4, in <module>    print(dict['Alice'])KeyError: 'Alice'

修改字典

向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:

dict = {'Name''Zara''Age': 7, 'Class''First'}dict['Age'] = 8; # 更改 Age 的值dict['School'] = "DPS School"# 增加新的键值对print(dict['Age'])print(dict['School'])# 输出8DPS School

删除字典元素

能删单一的元素也能清空字典,清空只需一项操作。显示删除一个字典用del命令,如下实例:

dict = {'Name''Zara''Age'7'Class''First'}del dict['Name'# 删除键是'Name'的条目dict.clear()    # 清空词典所有条目del dict       # 删除词典print(dict['Age'])print(dict['School'])# 输出Traceback (most recent call last):  File "test.py", line 8, in <module>    print(dict['Age'])TypeError: 'type' object is unsubscriptable

这会引发一个异常,因为用del后字典不再存在

字典键的特性

字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。

两个重要的点需要记住:

1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:

dict = {'Name''Zara''Age': 7, 'Name''Manni'}print(dict['Name'])# 输出Manni

2)键必须不可变,所以可以用数,字符串或元组充当,所以用列表就不行,如下实例:

dict = {['Name']: 'Zara''Age'7}print(dict['Name'])# 输出Traceback (most recent call last):  File "test.py", line 3, in <module>    dict = {['Name']: 'Zara''Age'7}TypeError: list objects are unhashable

字典内置函数&方法

Python字典包含了以下内置函数:

序号 函数及描述
1 len(dict) 
计算字典元素个数,即键的总数。
2 str(dict) 
输出字典可打印的字符串表示。
3 type(variable) 
返回输入的变量类型,如果变量是字典就返回字典类型。

Python字典包含了以下内置函数:

radiansdict.clear() 删除字典内所有元素

dict = {'Name': 'Zara', 'Age': 7}
print (len(dict))dict.clear()print(====)print(len(dict))# 输出2====0

radiansdict.copy() 返回一个字典的浅复制

dict1 = {'Name': 'Zara', 'Age': 7}
dict2 = dict1.copy()print(str(dict2))# 输出{'Age': 7, 'Name': 'Zara'}

radiansdict.fromkeys() 创建一个新字典,以序列seq中

元素做字典的键,value为字典所有键对应的初始值。

俩个参数:

    seq — 字典键值列表。

    value — 可选参数, 设置键序列(seq)的值。

seq = ('name', 'age', 'sex')
dict = dict.fromkeys(seq)print(str(dict))
dict = dict.fromkeys(seq, 10)print(str(dict))# 输出
{'age': None, 'name': None, 'sex': None}{'age': 10, 'name': 10, 'sex': 10}

radiansdict.get(key, default=None) 返回指定键的值,

如果值不在字典中返回default值

dict = {'Name': 'Zara', 'Age': 27}
print(dict.get('Age'))print(dict.get('Sex', "Never"))# 输出27Never

radiansdict.items() 以列表返回可遍历的(键, 值) 元组数组

dict = {'Name': 'Zara', 'Age': 7}
print(dict.items())# 输出[('Age', 7), ('Name', 'Zara')]

radiansdict.keys() 以列表返回一个字典所有的键

dict = {'Name': 'Zara', 'Age': 7}
print(dict.items())# 输出[('Age', 7), ('Name', 'Zara')]

radiansdict.setdefault(key, default=None) 和get()类似,

# 如果键不已经存在于字典中,将会添加键并将值设为defaultdict = {'Name': 'Zara', 'Age': 7}
print(dict.setdefault('Age', None))print(dict.setdefault('Sex', None))# 输出7None

radiansdict.update(dict2) 把字典dict2的键/值对更新到dict里

ict = {'Name': 'Zara', 'Age': 7}dict2 = {'Sex': 'female' }
dict.update(dict2)print(dict)# 输出Value : {'Age': 7, 'Name': 'Zara', 'Sex': 'female'}

radiansdict.values() 以列表返回字典中的所有值

dict = {'Name': 'Zara', 'Age': 7}
print(dict.values())# 输出[7, 'Zara']

转载请注明:XAMPP中文组官网 » Python字典经典代码大全_Python遍历

您必须 登录 才能发表评论!