一、列表的索引和切片
1.列表的索引
列表和字符串一样样拥有索引
lst = ["a","b","c"]
print(lst[0]) # 获取第1个元素
print(lst[1]) # 获取第2个元素
print(lst[2]) # 获取第3个元素
lst[3] = "d" # 修改索引为2的字符串为"d"
# ps:列表是可以发生改变的. 字符串不可以
eg:
str = "abc"
str[0] = "d" # TypeError: 'str' object does not support item assignment
2.列表的切片
lst = ["麻花藤", "王剑", "马芸", "周鸿医", "向华强"]
print(lst[0:3]) # ['麻花藤', '王剑', '马芸']
print(lst[:3]) # ['麻花藤', '王剑', '马芸']
print(lst[1::2]) # ['王剑', '周鸿医'] 也有步长
print(lst[2::-1]) # ['马芸', '王剑', '麻花藤'] 也可以倒着取
print(lst[-1:-3:-2]) # 倒着带步长
二、列表的增删改查
1.增加.(list和str不同. list可以发生改变. 所以直接就在原来的对象上进行了操作)
lst = ["麻花藤", "王剑 ", "马芸", "周鸿医", "向华强"]
lst.append("小泽玛利亚")
lst.insert(1,"苍老师") #在1的位置插入"苍老师". 原来的元素向后移动一位
lst.extend("小苍","大苍") #迭代添加,追加进列表
2.删除(pop, remove, clear, del)
lst = ["麻花藤", "王剑", "马芸", "周鸿医", "向华强"]
lst.pop() #删除最后一个 并返回删除的元素
lst.pop(2) #删除索引为2的元素 并返回删除的元素
lst.remove("麻花藤") #删除指定元素
lst.clear() #清空list
del lst[1:2] #切片删除
3.修改
lst = ["麻花藤", "王剑 ", "马芸", "周鸿医", "向华强"]
lst[1] = "麻花" # 修改索引为1的元素为"麻花"
lst[1:3] = ["麻花"] # 如果没有步长,则不用关心元素个数
lst[1:4:3] = ["麻花","大麻花"] #会报错, 如果步长不是1, 要注意元素的个数
4.查询(列表是一个可迭代对象,所以可以进行for循环)
for i in lst:
print(i)
5.其他操作
lst = ["麻花藤", "王剑", "马芸", "周鸿医", "向华强"]
lst.count("麻花藤") #查询"麻花藤"出现次数
lst1 = [1, 11, 22, 2]
lst1.sort() # 排序,默认升序
lst1.sort(reverse=True) # 降序
lst.reverse() # 列表返过来
len(lst) #列表长度
三:元祖
元组: 不可变的列表.又被成为只读列表, 元组也是python的基本数据类型之一,用小括
号括起来,里面可以放任何数据类型的数据, 查询可以. 循环也可以. 切片也可以. 但就是不能修改.count(), index(), len()等方法