一、通用序列操作
1、索引
- 索引从0开始,从左往右编号;
- 索引也可以从-1开始,从右向左编号;
2、切片
- 切片需要两个索引作为边界,第一个索引的元素包含在切片内(闭区间),第二个索引的元素不包含在切片内(开区间);
- 切片索引值有默认值,第一个索引默认值为序列头索引,第二个索引默认值为序列尾索引;
- 切片也支持负数,也就是按从右向左的顺序的索引获取切片;
- 序列的切片索引下标可以超出它真实的索引长度;
- 切片第三个参数为步长,步长不支持0,默认情况下步长为1;
- 步长为负数是从尾部开始获取元素,直到第一个元素为止;
3、序列相加
序列之间可以使用+
(加号)进行连接操作,不同的序列是不能做连接的
4、序列重复
在Python中,可以使用*
(星号)做“乘法”,实现序列重复
5、成员资格
成员资格是指判断一个元素是否包含在序列中,Python中使用运算符"in
"来判断,运算符会判断左边的元素是否包含在右边的序列中,如果包含则返回true
,不包含则返回false
注意:只有当元素的类型和子都完全一致,才算是包含在序列中,比如数字5
和字符串"5"
就是两种不同的元素
6、长度、最小值、最大值、求和
二、列表(和C里的数组一样)
列表可以通过索引获取其中的单个元素,也可以通过索引更新其中的元素,使用方法就和变量赋值一样方便
列表常用操作:
列表操作
| 方法
| 示例
|
追加一个元素
| append()
| x1.append(“Hello”)
|
追加多个元素
| extend()
| x1.extend([6,7])
|
插入元素
| insert()
| x1.insert(2,100)
|
删除指定位置的元素,并返回其值,默认最后一个
| pop()
| x1.pop(2)
|
根据元素内容删除元素
| remove()
| x1.remove(6)
|
使用关键字del 删除列表元素 | del
| del x1[2]
|
查找元素
| index()
| x1.index(5)
|
反转队列
| reverse()
| x1.reverse()
|
统计元素在列表中的个数
| count ()
| x1.count(5)
|
对列表进行排序
| sort()
| x1.sort()
|
# 列表
x1=[1,2,3,4]
print("列表")
print(x1)
print("------------")
print("追加 5")
x1.append(5)
print(x1)
print("------------")
print("追加[6,7]")
x1.extend([6,7])
print(x1)
print("------------")
print("在第2个位置插入100")
x1.insert(2,100)
print(x1)
print("------------")
print("删除第2个位置的元素")
x1.pop(2)
print(x1)
print("------------")
print("删除元素6")
x1.remove(6)
print(x1)
print("------------")
print("使用关键字 del 删除第2个位置的元素")
del x1[2]
print(x1)
print("------------")
print("查找元素4的索引值")
x1.index(4)
print(x1.index(4))
print("------------")
print("反转队列")
x1.reverse()
print(x1)
print("------------")
print("统计元素5在列表中的个数")
print(x1.count(5))
print("------------")
print("对列表排序")
x1.sort()
print(x1)
三、元组
元组与列表十分相似,大部分方法通用,但是元组与列表最大的区别是列表可以修改、可以读取、可以删除,而元组创建之后则不能修改,不能删除单个元素,但是可以删除整个元组。
1、定义元组
元组定义和列表类似,定义元组只需要用括号"(“和”)“把元素括起来,并用”,"把元素隔开就可以
注意:如果元组只有一个元素,则这个元素后面必须要有",",否则元素就还是其原来的类型
# 元组
print("定义元组")
x1=(1,2,3,4)
print(x1)
x2=(10)
print(x2)
x3=(10,)
print(x3)
2、删除元组
由于元组不能修改,所以元组也不能单独删除部分元素,要删除只能删除整个元组。
# 元组
print("定义元组")
x1=(1,2,3,4)
print(x1)
x2=(10)
print(x2)
x3=(10,)
print(x3)
print("----------------")
print("删除元组")
del x1
del x2
del x3
print(x1)
3、元组的其它操作
元组虽然不能修改,但是列表所支持的查询方法基本上元组都支持。也正是因为元组不能修改,所以元组的查询速度要比列表快。
- count:统计某个元素在元组中出现的次数;
- index:查找元素在元组中的索引位置;
四、字典
字典的元素是成对(键:值)出现的,字典的键必须是唯一、不重复的,如果是空字典(一个元素都没有),则可以直接使用"{}"表示。
1、定义字典
# 字典
print("定义字典")
English = {
"we" : "我们",
"world" : "世界",
"company" : "公司"
}
print(English)
x = {}
print(x)
2、使用字典
在Python中,字典其实就是一组键值对。访问字典跟查字典一样,需要用键去“查找”值。
注意:
- 使用不存在的键查找时,解释器会显示错误信息;
- 字典和列表一样,都是一种可修改的结构;
- 字典新增元素和修改元素的语法一样;
- 使用关键字
del
删除字典的元素
# 字典
print("定义字典")
English = {
"we" : "我们",
"world" : "世界",
"company" : "公司"
}
print(English)
print("----------------")
print("访问字典元素:English['world']")
print(English["world"])
# print(English["Hello"])
print("----------------")
print("修改字典元素")
English["company"]="伙伴"
print(English)
print("----------------")
print("增加字典元素")
English["china"]="中国"
print(English)
print("----------------")
print("删除字典元素")
del English["company"]
print(English)
3、字典的其它操作
操作
| 方式
| 示例
|
清空字典中的所有元素
| clear()
| x1.clear()
|
完整的复制一个新的字典副本
| copy()
| x1.copy()
|
用序列中的元素作为键,创建一个新的字典
| fromkeys
| x1.fromkeys(x2)
|
返回键对应的值,如果不存在,则返回默认值
| get()
| x1.get(“we”)
|
返回一个键列表
| keys()
| x1.keys()
|
返回一个值列表
| values()
| x1.values()
|
返回一个包含所有键和值的列表
| items()
| x1.items()
|
# 字典
print("定义字典:")
English = {
"we" : "我们",
"world" : "世界",
"company" : "公司"
}
print(English)
print("------------------------------------")
print("复制字典:")
temp = English.copy()
print(temp)
print("------------------------------------")
print("用序列中的元素作为键,创建一个新的字典:")
x1=['a','b','c']
x2=dict.fromkeys(x1)
x3=dict.fromkeys(x1,10)
print("x2:",x2)
print("x3:",x3)
print("------------------------------------")
print("返回键对应的值:")
print(English.get("we"))
print(English.get("Hello"))
print("------------------------------------")
print("返回一个键列表:")
print(English.keys())
print("------------------------------------")
print("返回一个值列表:")
print(English.values())
print("------------------------------------")
print("返回一个包含所有键和值的列表:")
print(English.items())
五、集合
集合与列表的行为类似,唯一的区别在于集合不会包含重复
的值。
1、定义集合
- 如果是空集合(不包含任何元素的集合),必须使用set()定义;
- 如果包含元素,则可以使用或括号"{}"定义集合,也可以使用set加上列表来定义;
# 集合
print("定义集合:")
empty = set()
print("空集合",empty)
number={1,2,3}
print("数字集合",number)
mix = set([1,"您好",3.14])
print("混合类型集合",mix)
2、集合操作
操作
| 方式
| 示例
|
在集合中添加新元素
| add()
| x1.add(3)
|
删除集合中的元素
| remove()
| x1.remove(3)
|
# 集合
print("定义集合:")
number={1,2,3}
print("数字集合",number)
print("-----------------------")
print("向集合中新增元素:")
number.add(3)
number.add(30)
print(number)
print("-----------------------")
print("删除集合中的元素:")
number.remove(30)
print(number)
Python中的集合可以看成数学意义上的无序和无重复元素的集合,并且Python自带的集合类型支持很多数学意义上的集合操作,例如:
# 集合
x1 = {1,3,5}
x2 = {2,7,1,3}
print("x1: ",x1)
print("x2: ",x2)
print("交集: ",x1 & x2)
print("并集: ",x1 | x2)
print("差集: ",x1 - x2)
print("对称集: ",x1 ^ x2)