1.1 序列的切片
内容连续、有序、支持下标索引的一类数据容器都可以称为序列
比如:列表、元组、字符串
序列[起始 : 结束 : 步长]
起始可以省略,省略从头开始
结束可以省略,省略到尾结束
步长可以省略,省略步长为1(可以为负数,表示倒序进行)
# 对list进行切片
my_list = [1,2,3,4,5,6]
result_1 = my_list[1:4]
# 默认步长为1,可以不写
print(result_1)
# [2, 3, 4]
# 对tuple进行切片
my_tuple = (1,2,3,4,5,6)
result_2 = my_tuple[:]
# 起始结束不写表示从头到尾,步长为1
print(result_2)
# (1, 2, 3, 4, 5, 6)
# 对str进行切片
my_str = "0123456"
result_3 = my_str[::2]
print(result_3)
# 0246
# 步长为-1时
result_4 = my_str[::-1]
print(result_4)
# 6543210
# 等同于将序列反转,list、tuple一样
2.1 集合的定义
{元素,元素,元素,......}
2.2 集合的常用方法
# 定义集合
my_set = {"女帝",36,"岐国"}
print(f"{my_set}:{type(my_set)}")
# {'岐国', '女帝', 36}:<class 'set'>
# 定义空集合
my_set_1 = set()
print(f"{my_set_1}:{type(my_set_1)}")
# set():<class 'set'>
# 添加新元素
my_set.add("蚩梦")
print(my_set)
# {'岐国', 36, '蚩梦', '女帝'}
# 移除一个元素
my_set.remove("蚩梦")
print(my_set)
# {'女帝', 36, '岐国'}
# 随机取出一个元素
element = my_set.pop()
print(element,my_set)
# 女帝 {36, '岐国'}
# 清空集合
my_set.clear()
print(my_set)
# set()
# 取两个集合的差集
set1 = {1,2,3,4,5,6}
set2 = {4,5,6,7,8,9}
set3 = set1.difference(set2)
print(set3)
# {1, 2, 3}
# 消除两个集合的差集
set1 = {1,2,3,4,5,6}
set2 = {4,5,6,7,8,9}
set1.difference_update(set2)
print(set1)
# {1, 2, 3}
# 2个集合合并为1个
set1 = {1,2,3,4,5,6}
set2 = {4,5,6,7,8,9}
set3 = set1.union(set2)
print(set3)
# {1, 2, 3, 4, 5, 6, 7, 8, 9}
# 统计集合元素数量
print(len(set3))
# 9
# 遍历,无下标索引,所以只支持for循环遍历
for i in set3:
print(i)
# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9
2.3 集合特点
可以容纳多个数据、不同数据、无序存储、不支持下标索引、只能for循环遍历、不允许重复、可修改(增加或删除元素等)
(日常美图时间)