python学习笔记2023.7.4
本篇笔记主要关于列表、字典、元组、集合这四种基本数据类型的基本语法
一、列表
列表的创建与删除
1.创建
通过[]
定义列表,列表的元素之间通过英文状态下的逗号分隔。例:a = [1, 2, 3, 4]
另一种方式是通过内置函数list()
创建,例:a = list([1, 2, 3])
注:list()
函数还可以将元组转换为列表。
2.删除
列表的删除主要涉及remove(), pop(), clear()
这三个方法以及del
语句。
remove()
:删除指定的元素,一次只能删除一个。对于重复元素,只会删除第一个。若元素不存在,则会报错value error
pop()
:删除指定索引的元素。若不指定索引,则删除最后一个元素。clear()
:清空列表中的所有元素。del 列表名[索引或切片]
:删除对应索引或切片的元素
例:
a = [1, 2, 3, 4, 5, 6]
print(a.remove(2))
print(a.pop(2))
print(a.clear())
print(del a[2])
输出结果分别为:
[1, 3, 4, 5,6]
[1, 2, 4, 5, 6]
None
[1, 2, 4, 5, 6]
获取列表中的元素
1.获取列表中的单个元素
直接利用索引,例:
a = [1, 2, 3, 4]
b = a[1]
print(b)
输出结果:2
2.获取多个元素
通过切片操作可以获取列表中多个元素,格式:列表名称[第一个元素的索引:最后一个元素的索引+1]
例:
a = [1, 2, 3, 4]
b = a[1:3]
输出结果:[2, 3]
列表的加法与乘法
列表的加法即将两个列表合并成一个列表且元素顺序不变,例:
a = [1, 2, 3]
b = [2, 3]
c = a + b
print(c)
输出结果为:`[1, 2, 3, 2, 3]
列表的乘法即重复列表内的元素,例:
a = [1, 2, 3]
b = a*3
print(b)
输出结果为:`[1, 2, 3, 1, 2, 3, 1, 2, 3]
列表元素的增、改
1. 增
列表的元素的增添有四种方式:
- append():在列表的末尾增加一个元素
- extend():在列表的末尾增加多个元素
- insert():在列表的任意位置增添一个元素
例:
a = [1, 2, 3, 4]
a.append(1)
print(a)
输出结果为:`[1, 2, 3, 4, 1]
2.改
列表元素的更改主要通过索引或切片,格式列表名称[索引]
a = [1, 2, 3]
a[1] = [1, 2, 3]
print(a)
输出结果为:[1, 1, 2, 3, 3]
。
列表的排序
通过sort()
方法或sorted()
函数可以实现列表升序排列,将参数reverse的值令为True可以实现降序排列
注:sort()
是在原来的列表上做修改,而sorted()
函数会生成一个新列表,原列表不变
列表的遍历
通过for语句实现列表遍历
例:for i in [1, 2, 3, 4]
二、字典
字典的创建与删除
1.创建
字典通过{}
或内置函数dict()
函数创建,语法结构和列表的相同,在此不再赘述。
例:a = {'name':'Jhon','age':20}
注:字典的键必须是不可变数据类型,且不可重复。
2.删除
使用del语句删除字典中的键值对。
例:del a['name']
字典元素的增加
语法格式:字典名称[新的键] = 对应的值
例:a['地址']='望志路190'
其他操作
- key():获取所有的键
- value():获取所有的值
- item();获取所有的键值对,每一个键值对的数据类型为元组,item()方法产生由所有键值对的元组组成的一个列表
遍历
同列表,也是使用for循环,语法结构也相同
三、元组
通过()
或内置函数tuple()
创建,格式与列表类似。
注:只含一个元素的元组需要在元素之后加一个逗号,例:a = (10,)
元组是不可变数据类型,没有增、删、改操作。
四、集合
创建
通过{}
或内置函数set()
定义,元素之间用英文逗号隔开。
注:集合中的元素不可重复。
集合是可变数据类型
集合元素的增加
集合元素的增加主要通过add()
与update()
这两个方法实现。
- add() 一次添加一个元素
- update() 一次添加多个元素
集合元素的删除
集合元素的删除主要通过以下四种方法:
- remove():一次删除一个指定元素,元素不存在时会抛出异常
- discard():一次删除一个指定元素,元素不存在时不会抛出异常
- pop(): 一次删除一个任意元素,无参数
- clear():清空集合
集合间的关系
关系 | 方法 |
---|---|
是否相等 | ==(相等)、!=(不相等) |
子集 | issubset() 方法,例:a.issubset(b) ,返回值为True,则说明a是b的子集 |
是否有非空交集 | isdisjoint() 方法 |
数学运算
运算名称 | 方法 |
---|---|
交 | intersection() 或& |
并 | union() 或| |
差 | diffference() 或- |
对称差集 | symmmetric-difference() |