学习内容
1、字典
- 字典的定义
- 字典添加和修改数据
- 字典删除数据
- 字典遍历数据
enumerate() 函数
2、集合简介
一、字典
1、字典定义和元素访问
1)字典定义
- 字典使用的是大括号
{} 进行定义的 - 定义空字典:
变量 = {} 或 变量 = dict() - 字典中的元素以键值对的形式出现 (可以有多个),即
{key: value}
key : 只能是字符串或者数字类型的数据(数字类型 int/ float )value : 可以是任意数据类型
2)元素访问
- 在字典中没有下标的概念,都是通过使用
key 值访问字典中对应的 value 值,当访问的 key 值不存在时,代码会报错 get() 函数:
get('key') :直接给函数传入 key 值,当查询到对应的 value 值则返回对应的值,当 key 值不存在时返回 None ,代码不会报错get(key, 数据) :当查询到对应的 value 值时返回对应的值,当没有 key 值时,返回自定义的数据值
【举例】
dic = {'Name': '张三', 'Age': 20}
print(dic['Name'])
print(dic.get('Name'))
print(dic.get('Height'))
print(dic.get('Height', 178))
2、添加和修改数据
字典中添加和修改数据是一样的,直接对 key 值进行操作,当操作的 key 值在字典中存在则表示修改数据,若不存在对应的 key 值则表示添加
- 格式:
字典[key] = 数据值 ,如 dic['name'] = '李四' - 注意:
key 值里面,数字 n 和 n.0 表示的是同一个 key 值,如 1 , 1.0 表示同一个数据,不存在整数和小数的区别
【举例】
dic = {'Name': '张三', 'Age': 20}
dic['Height'] = 178
print(dic.get('Height'))
dic['Height'] = 180
print(dic.get('Height'))
3、删除数据
del 字典名[key] :删除对应的数据,如 del dic['Name'] del 字典名 :表示将这个字典整个删除字典名.pop(key) :传入的参数值是key 值,表示将这个key 值对应的内容删除然后返回对应的内容,不加参数默认删除最后一个字典名.clear() :清空字典,删除所有的键值对,得到的是一个空字典
dic = {'Name': '张三', 'Gender': '男', 'Age': 20, 'Height': 177}
del dic['Height']
print(dic)
age = dic.pop('Age')
print(age)
print(dic)
dic.clear()
print(dic)
4、遍历数据
for循环遍历 :使用 for 循环直接遍历字典,此时得到的是字典的 key 值字典名.keys() :用来获取字典的 key 值,得到的类型是 dict_keys,再使用 list() 进行强制转换,得到是 key 值,也可以使用 for循环 遍历字典名.values() :用来获得字典的 values 值,得到的类型是dict_values,再使用==list()==进行强制转换,得到values 值,也能使用 for循环 遍历字典名.items() :用来获取字典中所有的键值对,得到的类型是dict_items ,内容是key 值和value 值组成的元组类型
dic = {'Name': '张三', 'Gender': '男', 'Age': 20, 'Height': 177}
for i in dic:
print(i, ' : ', dic[i])
print('===' * 26)
print(type(dic.keys()))
for i in dic.keys():
print(i, ' : ', dic[i])
print('===' * 26)
print(type(dic.values()))
for i in dic.values():
print(i)
print('===' * 26)
print(dic.items())
for i in dic.items():
for j in i:
print(j, end=' : ')
print()
5、enumerate() 函数
将一个可遍历的数据对象(列表、元组、字符串、字典等)组合为一个索引序列,同时列出数据和下标,一般用于for循环
- 将元素的下标和具体的数据组合在一起,变成元组
- 得到的类型是
enumerate 类型
alis = 'HELLOWORLD'
adic = {'Name': 'Mingming', 'Age': 20}
res1 = enumerate(alis)
print(type(res1))
for i in res1:
print(i)
print('==' * 10)
res2 = enumerate(adic)
print(type(res2))
for i, j in res2:
print(i, ' ', j)
二、集合
1、集合的定义
- 集合的定义使用
{} ,如:a = {1, 2, 3, 4} - 集合不支持下标操作
- 集合本身属于可变类型,但集合中的数据类型必须是不可变数据类型(如元组,字符串等)
- 集合依然遵守无序性和唯一性的原则,即集合里面的数据是无序且唯一的,没有重复元素
- 当需要对数据强制转换为集合或者需要对数据进行去重的时候可以使用
set()
2、数据操作
很多的操作与字典,列表的操作类似,这里列举几个比较常用的即可
集合.add(数据) :添加数据集合.remove(数据) :删除数据集合.clear() :清空数据
3、举例
aset = {1, 2, 3, 'Hello', (1, 2, 3)}
aset.add(20)
print(aset)
aset.remove('Hello')
print(aset)
aset.clear()
print(aset)
t = [1, 1, 1, 2, 4, 7, 7, 4, 3]
print(set(t))
|