【Python基础篇】【11.数据类型

阅读: 评论:0

【Python基础篇】【11.数据类型

【Python基础篇】【11.数据类型

Python数据类型认识

  • 字典 dict
    • 创建
    • 增加
    • 删除 del、pop()、popitem()、clear()
    • 修改 / 更新 update()
    • 查询 get()、keys()、values()、items()
    • 复制
      • copy()
        • 案例 - 字典取值
        • 案例 - 字符串统计


字典 dict

  • 字典是一种可变的容器,可以存储任意类型的数据

  • 字典中的每个数据都是用"键" (key) 进行索引,而不像序列可以用下标进行索引

  • 字典中的数据没有先后关系,字典的存储是无序的

  • 字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。key必须是不可变类型,如:数字、字符串、元组。

  • 字典的表示方式是以{} 括起来,以冒号(:)分割的键值对,各键值对之间用逗号分隔开

  • 字典的键一般是唯一的,如果重复最后的一个键值对会替换前面的

创建

创建字典的最简单方式就是直接赋值,但需要注意的是保持键的唯一性,否则会导致后赋值的一个键值对替换掉前面的。键的数据类型必须是不可变的,如字符串、数字或元组等,而值可以取任何数据类型。

"""字典的创建"""
"""
{}    大括号是字典创建的符号
<class 'dict'>  字典类型字典中数据形式是键值对的形式, 即 key: value 的形式key: value 键值对之间用英文形式的冒号隔开key   --> 冒号左边是字典的键, 在一个字典中键必须唯一: 键可以是字符串/数值/元组/布尔类型, 不能是列表取值是根据键取对应的值value  --> 冒号右边是键的值, 可以是Python任意类型
"""
dict1 = {'name': '正心', 520: True, (1,): 18}
print(dict1['name'])  # 正心
print(type(dict1))  # <class 'dict'># 空字典
dict2 = {}
dict3 = dict()# 注意:一般称冒号前面的为键(key),简称k;冒号后面的为值(value),简称v

增加

'''
注意:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对
'''
dict1 = {'name': '正心','age': 18,'gender': '男'
}# 如果key不存在则新增此键值对
dict1['爱好'] = '吃喝玩乐'
print(dict1)  # {'name': '正心', 'age': 18, 'gender': '男', '爱好': '吃喝玩乐'}# 如果key存在则修改这个key对应的值
dict1['gender'] = '女'
print(dict1)  # {'name': '正心', 'age': 18, 'gender': '女', '爱好': '吃喝玩乐'}# 如果 key 不存在进行赋值操作,那么就会在字典对象里面新增键值对数据
dict1['工作'] = 'python'  # 增加
print(dict1)  # {'name': '正心', 'age': 18, 'gender': '女', '爱好': '吃喝玩乐', '工作': 'python'}

删除 del、pop()、popitem()、clear()

''' 1.del() / del - 指定键, 删除字典中键值对 '''
dict1 = {'name': '正心','age': 18,'gender': '男'
}# 指定键, 删除字典中键值对
del (dict1['gender'])
print(dict1)  # {'name': '正心', 'age': 18}
del dict1['name']
print(dict1)  # {'age': 18}''' 2.pop() - 用于获取指定 键 的值,并将这个 键-值 对从字典中移除 '''
dict1.pop('age')  # 他也是有返回值,返回被删除数据的值
# 如果删除的键不存在
# dict1.pop('kk')  # 报错''' 3.popitem() - 删除最后插入字典中的数据。在 python 解释器3.7之前的版本中,是删除一个随机的键'''
heroes = {'及时雨': '宋江', '玉麒麟': '卢俊义', '花和尚': '鲁智深', '母夜叉': '孙二娘'}
heroes.popitem()  # 删除最后一个元素
print(heroes)  # {'及时雨': '宋江', '玉麒麟': '卢俊义', '花和尚': '鲁智深'}''' 4.clear() - 用于清空字典中的所有元素,变成一个空字典 '''
dict1.clear()

修改 / 更新 update()

''' 修改 '''
# 定义一个字典
dict = {"name": "张三", "age": 20, "sex": "男"}
# 修改元素
dict["name"] = "李四"
print(dict)  # {'name': '李四', 'age': 20, 'sex': '男'}# 如果键存在,则数据会被覆盖(其实就是修改数据)
dict1['age'] = 20  # 修改
dict1['name'] = '天空'  # 修改''' update - 更新/合并字典 '''
"""合并字典"""
dict2 = {'name': '正心', 'age': 18, 'gender': '男', '爱好': '吃喝玩乐'}
dict3 = {'学校': '城市教育', '爱好': ['吃', '喝', '玩', '乐']}dict2.update(dict3)
print(dict2)  # {'name': '正心', 'age': 18, 'gender': '男', '爱好': ['吃', '喝', '玩', '乐'], '学校': '城市教育'}
# 注意:如果key存在则修改这个key对应的值 ;如果key不存在则新增此键值对

查询 get()、keys()、values()、items()

访问get指定的键,与普通的字典查找结果一样,而使用get访问不存在的键是不会引发异常的,只是返回None值。

''' 取值 '''
# 字典的取值是通过键取获取到他的值(所以说我们的键必须唯一)
dict1 = {'name': '无敌','age': 18,'gender': '男'
}
# 通过键取获取值
print(dict1['name'])
# 如果键不存在
print(dict1[666])  # 报错
# get 取值方法,通过键去取值不存在的键不会报错
(666))  # 不会报错,由于它没有返回值,所以会返回 None''' 字典本身的一些方法 '''
# keys() 函数keys()返回一个字典的键值视图,列出字典中的所有键
print(dict1.keys())  # 返回字典所有键
# values()
print(dict1.values())  # 返回字典所有值
# itmes()
print(dict1.items())  # 返回字典的所有键和值''' 遍历 '''
# 键
for i in dict1:print(i)  # 返回一个一个键,默认是 keys() for i in dict1.keys():print(i)  # 返回一个一个键# 值
for i in dict1.values():print(i)# 键和值  -  返回的是元组类型
for i in dict1.items():print(i)# 解包键值对
dict1 = {'name': '天空','age': 18,'gender': '男'
}for key, value in dict1.items():print(key, value)''' 示例 '''
heroes = {'及时雨': '宋江', '玉麒麟': '卢俊义', '花和尚': '鲁智深', '母夜叉': '孙二娘'}
if '及时雨' in heroes:print('该元素在字典中')  # 输出
else:print('该元素不在字典中')

复制

copy()

使用该方法进行复制,返回一个新字典,其包含与原来的字典相同的键值对

heroes = {'及时雨': '宋江', '玉麒麟': '卢俊义', '花和尚': '鲁智深', '母夜叉': '孙二娘'}
heroes_copy = py()
print(heroes_copy)  # {'及时雨': '宋江', '玉麒麟': '卢俊义', '花和尚': '鲁智深', '母夜叉': '孙二娘'}
案例 - 字典取值
''' 取出  artist_name  键里面的值 '''
print(data['soginfo']['artist_list'][0]['artist_name'])
('soginfo').get('artist_list')[0]['artist_name'])
案例 - 字符串统计
'''统计 python 中所有字符出现的次数1.获取所有的字符2.统计字符串出现的次数
'''
# count 可以的,都是不是很直观
d = {}  # 定义空的字典用于保存
for i in this_str:if i not in d.keys():  # 如果字符串没有在字典的键里面,就代表这个字符的字典中是第一次出现的d[i] = 1else:d[i] += 1

本文发布于:2024-01-30 18:20:11,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170661001521925.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据类型   基础   Python
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23