1.元组
# 定义一个元组 tuple 元组是不可变数据类型 是不能更改的 但是使用
t1 = (10, 24, 57)
print(t1, type(t1))
# 定义只有一个元组的元素 必须后面跟一个逗号
t2 = (19,)
print(t2, type(t2))
# 假如说 不加逗号 则括号里是什么数据类型 整个变量就是什么数据类型 变成 元组需要加逗号
t3 = ("hello",)
print(t3, type(t3))
# 元组的常见操作
# 通过下标进行查找
t1 = (23, "饶恩涛", "中国", "饶恩涛")
print(t1[0])
print(t1[1])
print(t1[2])
# 通过元素查找指定元素的下标 不存在则报错
print(t1.index(23))
print(t1.index("饶恩涛"))
print(t1.index("中国"))
# print(t1.index("小小"))
print(t1.count("饶恩涛")) # 计数
print(len(t1)) # 长度
2. 字典
# 字典的含义 dict 表示字典的意思
dict1 = {}
dict2 = dict()
print(dict1, type(dict1))
print(dict2, type(dict2))
# 使用大括号 然后以逗号分割 键值对之间 使用冒号
# 1、没有顺序 没有办法通过下标 进行查找 只能通过键 进行查找
dict3 = {"name": "饶恩涛", "age": 99, "gender": "girl"}
print(dict3, type(dict3))
dict1 = {"name": "顺顺", "age": "18"}
print(dict1, type(dict1))
# 给字典添加一对键值对
dict1["gender"] = "man"
print(dict1, type(dict1))
# 删除键值对
del dict1["gender"]
print(dict1, type(dict1))
# 清空键值对 clear
dict1.clear()
print(dict1, type(dict1))
# 查找
dict2 = {"name": "峰峰", "age": "20"}
print(dict2["name"]) # 查找指定键 对应的值
# print(dict2["gender"]) 查找没有的键 则报错
print(dict2.get("age"))
print(dict2.get(("id"))) # 查找没找到返回none(不会报错)
print(dict2.get("id"), 110) # 查找没有的键 则返回默认值
# 查找所有的键
dicr3 = {"name": "Simon", "age": 36, "height": 138}
print(dicr3.keys(), type(dicr3.keys())) # 查找所有的键 组成一个列表
print(dicr3.values(), type(dicr3.values())) # 查找所有的值 组成一个列表
print(dicr3.items(), type(dicr3.items())) # 查找所有的键值对 组成一个列表 每一对键值对都是元组
print("=============================================")
# 字典的遍历
# 遍历的是字典的键
for key in dicr3.keys():
print(key)
print("=================================")
# 遍历的是字典的值
for values in dicr3.values():
print(values)
print("=================================")
# 遍历字典所有的的键和值
for k, v in dicr3.items():
print(k, v)
3. 集合
# 集合是大括号定义 是一个序列
# 定义一个空集合
set1 = set()
set3 = {}
print(set1, type(set1))
# {}不能
print(set3, type(set3))
# 定义一个集合 使用逗号 隔开
set2 = {1, 3, 9}
print(set2, type(set2)
set1 = {1, 3, 5}
print(set1)
# 集合的增加数据 添加数据到集合中
set1.add("饶恩涛")
print(set1)
# update 表示更新数据 集合的特点之一 不能有重复数据 可以作为序列的去重工具
set1.update([1, 2])
print(set1)
# 会将字符串abc拆开 加入到集合中 且发现 集合是没有顺序的
set1.update("abc")
print(set1)
# 删除数据
set1.remove("饶恩涛")
print(set1)
# set1.remove("张三") # 删除不存在的值 报错
# print(set1)
# 删除数据
set1.discard("a")
print(set1)
# 删除数据
set2 = {1, 2, "张飞"}
set2.discard(1)
print(set2)
# 删除不存在的数据不会报错
set1.discard("g")
print(set1)
# 随机删除一个元素,并返回这个元素
result = set1.pop()
print(result)
# 加号
# 1、字符串之间的加号 str
str1 = "张恩"
str2 = "孙涛"
str3 = str1 + str2
print(str3, type(str3))
# 2、列表之间的加号 list
list1 = ["波波", "鹏鹏"]
list2 = ["文文", "涛涛"]
list3 = list1 + list2
print(list3, type(list3))
# 3、元组之间的加号 tuple
t1 = (13, "乌克兰")
t2 = (49, "俄罗斯")
t3 = t1 + t2
print(t3, type(t3))
# 复制操作
# 字符串复制
str4 = "鹏鹏"
str5 = str4 * 3
print(str5, type(str5))
# 列表复制
list4 = ["阿甘正传", "肖申克的救赎", "低俗小说"] * 3
print(list4)
# 元组复制
t4 = ("周杰伦", "蔡徐坤") * 3
print(t4)
# in 和 not in
# 1、字符串 存在就是Ture 不存在就是False
result1 = "a" in "abcd"
print(result1)
result2 = "a" not in "abcd"
print(result2)
# 2、列表
list5 = ["羽毛球", "乒乓球", "篮球"]
print("足球" in list5)
print("足球" not in list5)
# 3、元组
t5 = ("周六福", "唐义文")
print("张三" in t5)
print("张三" not in t5)
# len方法
# 1、字符串 str
str1 = "Hello, do you have dinner"
print(len(str1))
# 2、列表 list
list1 = ["no", "or", "yes"]
print(len(list1))
# 3、元组 tuple
t1 = ("大脑胡", "大西子", "大猩猩")
print(len(t1))
# 4、集合
set1 = {"元一", "02"}
print(len(set1))
# 5、字典
dict1 = {"冬奥会吉祥物:冰墩墩", "残奥会吉祥物:雪荣荣"}
print(len(dict1))
# 删除操作 del
# 1、字符串
# str2 = "abcd"
# del str2
# print(str2)
# 2、列表删除
list2 = ["后来", "最后", "以后"]
del list2[1]
print(list2)
# 最大值操作 max
list3 = ["10", "28", "18", "41", "24"]
print(max(list3))
# 最小值操作 min
print(min(list3))
# range 要前不要后
for i in range(1, 11):
print(i)
# 第三个步长是2
for j in range(1, 11, 2):
print(j)
print("=======================================")
list4 = ["吴豪", "嘻嘻", "凯凯", "小涛"]
for i,j in enumerate(list4):
# i 表示遍历的是下标 j是该下标所对应的值
print(i, j)
print(f"{j}是计应20106班的第{i+ 1}帅")
# 列表转换为元组
list5 = [1, 2, 3]
print(tuple(list5), type(tuple(list5)))
# 元组转换为列表
tuple1 = [1, 2, 3]
print(list(tuple1), type(list(tuple1)))
# 列表转集合
set4 = set(list5)
print(set4, type(set4))








