列表
列表的定义

image.png
列表的特性

image.png

image.png
- 注意:insert、remove或者sort方法,只修改列表,没有打印出返回值——它们的返回值默认为None。这是Python中所有可变数据结构的设计原则。
- 并非所有数据都可以排序或比较(比如字符串和数字等)。
list1 = [1,2,3,6,2]
list1.append(0) #在末尾添加
list1.insert(1,5) #在索引为1位置为2的地方添加5
list1.remove(3) #删除第一个值为3
pop_value = list1.pop(1) #删除索引为1即位置为2的值
print(pop_value) #pop_value即为pop方法删除的值
list1.sort() #把值从小到大排序
list1.sort(reverse=True) #把值从大到小排序
list1.reverse() #将整个列表反转,结果为[2,6,3,2,1]
列表推导式

image.png
# 练习题
# for循环
list2 = []
for i in range(1,4):
list2.append(i**2)
print(list2)
# 列表推导式
list3 = [i**2 for i in range(1,4)]
print(list3)
- 列表推导式写判断循环:
list1 = [i**2 for i in range(1,4) if i!=1]
,执行结果为[4,9] - 列表推导式写嵌套循环:
list2 = [i*j for i in range(1,4) for j in range(1,4)]
,执行结果为[1,2,3,2,4,6,3,6,9]
嵌套循环练习题:打印出九九乘法表
# 九九乘法表
for i in range(1,10):
print()
for j in range(1,i+1):
print(f'{i}*{j}={i*j}', end=' ')
结果:
image.png
元组

image.png
元组的定义
tuple1 = (1,2,3)
或tuple2 = 1,2,3
# 元组的定义
tuple1 = (1,2,3)
tuple2 = 1,2,3
print(tuple1,type(tuple1))
print(tuple2,type(tuple2))

image.png
元组的不可变特性
元组不可变特性是指变量指针地址不可变,如果元组中嵌套列表,则其中的列表是可变的。
# 元组的不可变特性
a = [1,2,3]
tuple_nochange =(1,2,3)
tuple_change = (1,2,a) #其中元素a是列表,它是可变的,但是它的变量指针地址是唯一的
tuple_change[2][1] = 'a'
print(tuple_change) # 结果为(1,2,[1,'a',3])
# 获取变量指针
print(id(tuple_change[2]))
元组的内置函数
- count:计算某个元素在元组中出现的次数
tuple1.count('a')
。 - index:获取某个元素在元组中第一次出现的索引
tuple1.index('a')
。
Tips:定义只有一个元素的元组需要加上逗号,因为python中一个(1)表示一个数,所以定义只有一个元素的元组可以这样
a=(1,)
。
集合

image.png
- 定义集合:
a = {1}
- 定义空集合:
b = set()
常用内置函数
定义两个集合:a={1,2,3},b={1,4,5}
- union:取两集合的并集
a.union(b)
,结果为{1,2,3,4,5}
。 - intersection:取两集合的交集
a.intersection(b)
,结果为{1}
。 - difference:取两集合的差集,即“我有你没有”,
a.difference(b)
,结果为{2,3}
。 - add:添加集合的值,
a.add("a")
,结果为{1,2,3,'a'}
。
集合推导式
例子:print({i for i in "aaabsojfoijasodijfo"})
,结果是去掉重复值的集合,以此推出集合的去重功能。
字典
字典的定义

image.png
- 定义:
dict1 = {"a":1,"b":2}
或dict2 = dict(a=1,b=2)
,结果都为{'a':1,'b':2}
常用内置函数
-
a.keys()':获取字典的所有key值,结果为
dict_keys([‘a’,’b’])`注意字典里面的key是不可变的。 -
a.values()
:获取字典的所有value值,结果为dict_values([1,2])
。 -
c=a.pop("a")
:删除掉key=‘a’
的键值对并赋值给其他变量c
。 -
a.popitem()
:随机删除字典的一个键值对,并返回删除的键值对。 - 首先定义一个空字典
a={}
,b=a.fromkeys((1,2,3),'c')
:fromkeys() 将1,2,3分别作为key传给b,c作为key的value,b的值为{1:'c',2:'c',3:'c'}
。
字典推导式
-
{i: i*2 for i in range(1,3)}
,结果为:{1:2,2:4}
下一节:Python模块,包括项目目录结构、模块定义、文件引用。