序列
序列的数据类型包括:字符串, 列表和元组数据
特点: 都支持下面的特征
索引和切片操作符
成员关系操作符(in, not in)
连接操作符(+)&重复操作符(*)
列表
# 1.连接抄作符和重复操作符
print([1, 2]+ [2, 3])
print([1, 2] * 3)
# 2.成员操作符(in ,not in)
print(1 in [4, 2, 3])
"""
布尔类型:
True:1
Flase:0
"""
print(1 in ["a", True, [1, 2] ])
print(2 in ["a", True, [1, 2] ])
print(1 in ["a", False, [1, 2] ])
# 3.索引
li = [1, 2, 3, [1, 2, 3]]
print(li[0]) # 1
print(li[-1]) # [1, 2, 3]
print(li[-1][0]) # 1
print(li[3][-1]) # 3
# 4.切片
li = ['172', '25', '254', '40']
print(li[:2])
print(li[1:])
print(li[::-1])
#需求:已知['172', '25', '254', '40'] 输出:”40-254-25“
print ("-".join(li[3:0:-1]))
print ("-".join(li[1:][::-1]))
# for循环
names = ["粉丝", "粉条", "粉带"]
for name in names :
print(f"有什么吃的:{name}")
列表的常用方法
1.增加
li = [1, 2, 3]
# 1. 增加
# 1-1 追加
li.append(4)
print(li)
# 1-2 在列表开头添加
li.insert(0, 'cat')
# 1-2 在索引2前面添加元素
li.insert(1, 'cat')
print(li)
# 1-3 一次追加多个元素
li.append([4, 5, 6])
print(li)
li.extend([4, 5, 6])
print(li)
2.修改
# 2. 修改: 通过索引和切片重新赋值的方式
li = [1, 2, 3]
li[0] = 'cat'
li[-1] = 'westos'
print(li)
li[:2] = ['cat', 'westos']
print(li)
3.查看
# 3. 查看: 通过索引和切片查看元素。 查看索引值和出现次数
li = [1, 2, 3, 1, 1, 3]
print(li.count(1)) # 3
print(li.index(3)) # 2
4.删除
# 4. 删除 根据索引删除
li = [1, 2, 3]
delete_num = li.pop(1)
print(li)
print("删除的元素是:",delete_num)
# 4-2 根据value的值删除
li = [1, 2, 3]
li.remove(1)
print(li)
# 4-3 全部清空
li.clear()
print(li)
5.其他操作
# 5.其他操作
li =[18, 6, 25, 56]
li.reverse() #反转类似于li[::-1]
print(li)
li.sort()
print(li) ##从小到大
li.sort(reverse = True ) ##从大到小
print(li)
li1 = li.copy()
print(id(li), id(li1))
print(li, li1)
元组
元组的建立
# 元组tuple(戴了紧箍咒的列表,不能修改元素)
# 1.元组的建立
t1 = () #空元组
print(t1, type(t1))
t2 = (1) # 元组只有一个元素时一定要加“,”
print(t2, type(t2))
t3 = (1, 1.2, True, [1, 2, 3])
print(t3, type(t3))
元组的基本特性
# 2.特性
print((1, 2, 3)+(3,)) #拼接
print((1, 2, 3) * 2) #重复
print(1 in (1, 2, 3)) #成员操作符
t = (1, 2, 3)
print(t[0]) # 1
print(t[-1]) # 3
print(t[:2]) # 1 2
print(t[1:]) # 2 3
print(t[::-1]) # 3 2 1
元组的常用方法
# 3.常用方法: 元组是不可变数据类型(不能增删改)
# 查看: 通过索引和切片查看元素。 查看索引值和出现次数
li = [1, 2, 2, 3, 1, 1, 3]
print(li.count(1)) # 3 出现次数
print(li.index(3)) # 3 查看索引值
命名元组
tuple = ("westos", 18, "西安")
print(tuple[0], tuple[1], tuple[2])
# 命名元组 增加程序的可读性
#从 collections模块中导入namedtuple类
from collections import namedtuple
#创建命名元组
user = namedtuple('User',('name', 'age', 'city'))
# 给命名元组赋值
user1 = user("westos", 18, "西安")
print(user1)
print(user1.name)
print(user1.age)
print(user1.city)