目录
1.公共操作
操作符
- + 合并 字符串、列表、元组
- * 复制 字符串、列表、元组
- in 元素是否存在 字符串、列表、元组、字典
- not in 元素是否不存在 字符串、列表、元组、字典
+
# +: 合并
#字符串
str1 = 'aa'
str2 = 'bb'
print(str1 + str2)#aabb
#列表
list1 = [1, 2]
list2 = [10, 20]
print(list1 + list2)#[1, 2, 10, 20]
#集合
t1 = (1, 2)
t2 = (10, 20)
print(t1 + t2)#(1, 2, 10, 20)
#字典
dict1 = {'name': 'Python'}
dict2 = {'age': 30}
# print(dict1 + dict2) # 报错:字典不支持合并运算**********************************
*
# *乘法:复制,支持字符串列表元组(加法乘法)
#字符串
str1 = 'a'
print(str1 * 5)#aaaaa
# 打印10个-:
print('-' * 10)#----------
#列表
list1 = ['hello']
print(list1 * 5)#['hello', 'hello', 'hello', 'hello', 'hello']
#元组
t1 = ('world',)
print(t1 * 5)#('world', 'world', 'world', 'world', 'world')
in或not in
#in 和 not in
#1. 字符串
#a是否存在
str1 = 'abcd'
print('a' in str1)#True
print('a' not in str1)#False
# 2. 列表
#数据10是否存在
list1 = [10, 20, 30, 40]
print(10 in list1)#True
print(10 not in list1)#False
# 3. 元组
#100是否存在
t1 = (100, 200, 300, 400)
print(100 not in t1)#False
print(100 in t1)#True
# 4. 字典
#name是否存在
dict1 = {'name': 'Python', 'age': 30}
print('name' in dict1)#True
print('name' not in dict1)#False
print('name' in dict1.keys())#True
print('name' in dict1.values())#False
公共⽅法
- len() 计算容器中元素个数
- del 或 del() 删除
max() 返回容器中元素最⼤值
- min() 返回容器中元素最⼩值
- range(start, end, step)⽣成从start到end的数字,步⻓为 step,供for循环使⽤
- enumerate() ⽤于将⼀个可遍历的数据对象(如列表、元组或字符串)组合为⼀个索引序 列,同时列出数据和数据下标,⼀般⽤在 for 循环当中
len()
#len()计算容器中元素个数
#1.字符串
str1 = 'abcdefg'
print(len(str1))#7
#2.列表
list1 = [10, 20, 30, 40, 50]
print(len(list1))#5
#3.元组
t1 = (10, 20, 30, 40, 50)
print(len(t1))#5
#4.集合
s1 = {10, 20, 30, 40, 50,30}
print(len(s1))#5--集合中重复的数据去除******************
#5.字典
dict1 = {'name': 'TOM', 'age': 18}
print(len(dict1))#2
del 或 del()
# del 目标 或del(目标)
#1.字符串
str1 = 'abcdefg'
del str1#已删除str1中的数据
# print(str1)#再输出str1就会报错
#2.列表
list1 = [10, 20, 30, 40, 50]
# del(list1)
# print(list1)#同上报错
del(list1[0])
print(list1)#[20, 30, 40, 50]
#3.集合
s1 = {10, 20, 30, 40, 50}
del s1
# print(s1)#同上报错
#字典
dict1 = {'name': 'TOM', 'age': 18}
# del dict1
# print(dict1)#同上报错
del dict1['name']
print(dict1)#{'age': 18}
max()和min()
str1 = 'abcdefg'
list1 = [10, 20, 30, 40, 50]
# max() : 最大值
print(max(str1))#g
print(max(list1))#50
# min() : 最小值
print(min(str1))#a
print(min(list1))#10
range()
# range(start, end, step)(结果包含start不包含end)--和切片类似
# 1. 如果不写开始,默认从0开始***************
# 2. 如果不写步长,默认为1****************
print(range(1, 10, 1))#range(1, 10)
for i in range(1, 10, 1):#相当于range(1,10)
print(i)#输出123456789,每个数字换行
for i in range(1, 10, 2):
print(i)#输出13579,每个数字换行
for i in range(10):
print(i)#输出0123456789,每个数字换行
enumerate()
list1 = ['a', 'b', 'c', 'd', 'e']
#enumerate(可遍历对象,start=0)--start可以省略则从0开始输出
# enumerate 返回结果是元组,
# 元组第一个数据是原迭代对象的数据对应的下标,
# 元组第二个数据是原迭代对象的数据
for i in enumerate(list1):#默认从0开始
print(i)
#分别输出
# (0, 'a')
# (1, 'b')
# (2, 'c')
# (3, 'd')
# (4, 'e')
for i in enumerate(list1, start=1):#从1开始输出
print(i)
#分别输出
# (1, 'a')
# (2, 'b')
# (3, 'c')
# (4, 'd')
# (5, 'e')
容器类型转换
#数据类型的转换
list1 = [10, 20, 30, 20, 40, 50]
s1 = {100, 300, 200, 500}
t1 = ('a', 'b', 'c', 'd', 'e')
# tuple(): 转换成元组
print(tuple(list1))# (10, 20, 30, 20, 40, 50)
print(tuple(s1))# (200, 100, 500, 300)
# list():转换成列表
print(list(s1))# [200, 100, 500, 300]
print(list(t1))# ['a', 'b', 'c', 'd', 'e']
# set():转换成集合(集合可以实现去重功能)
print(set(list1))# {40, 10, 50, 20, 30}
print(set(t1))# {'d', 'e', 'a', 'b', 'c'}
注意:
- 集合可以快速完成列表去重
- 集合不⽀持下标
推导式
- 列表推导式
- 字典推导式
- 集合推导式
列表推导式
# 1. 简单列表推导式 range步长
list1 = [i for i in range(0, 10, 2)]
print(list1)#[0, 2, 4, 6, 8]
#带if的列表推导式
list2 = [i for i in range(10) if i % 2 == 0]
print(list2)#[0, 2, 4, 6, 8]
# 多个for实现列表推导式
list3 = [(i, j) for i in range(1, 3) for j in range(3)]
print(list3)#[(1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
字典推导式
#字典推导式
# 创建字典 key是1-5的数字,v是这个数字的平方
# dict1 = {k: v for i in range(1, 5)}
dict1 = {i: i**2 for i in range(1, 5)}
print(dict1)#{1: 1, 2: 4, 3: 9, 4: 16}
#合并列表为字典
list1 = ['name', 'age', 'gender', 'id']
list2 = ['Tom', 20, 'man']
dict1 = {list1[i]: list2[i] for i in range(len(list2))}
print(dict1)#{'name': 'Tom', 'age': 20, 'gender': 'man'}
# 总结:
# 1. 如果两个列表数据个数相同,len统计任何一个列表的长度都可以
# 2. 如果两个列表数据个数不同,len统计数据多的列表数据个数会报错;
# len统计数据少的列表数据个数不会报错****************
#提取字典中目标
counts = {'MBP': 268, 'HP': 125, 'DELL': 201, 'Lenovo': 199, 'acer': 99}
# 1. 需求:提取电脑台数大于等于200
# 获取所有键值对数据,判断v值大于等于200 返回 字典
# print(counts.items())
dict1 = {key: value for key, value in counts.items() if value >= 200}
print(dict1)#{'MBP': 268, 'DELL': 201}
集合推导式
#集合推导式
list1 = [1, 1, 2]#创建一个集合,集合有去重功能*******************
set1 = {i ** 2 for i in list1}
print(set1)#{1, 4}
# 集合有去重功能所以这个集合数据只有两个数据分别是1, 4
本次总结的是公共操作和推导式,通俗易懂,当做笔记哪里不懂捞出来看看。