一、列表(list)
1、介绍
* 能装对象的对象(类似于书包),有顺序(按照我们添加的顺序)
* 用[] 表示,可以放任意数据,每个元素用逗号( ,)隔开
* 同样用索引和切片
# 索引
lst[0] # 获取第一个元素
可以修改,lst[3] = "一个人"
# 切片
lst[0: 3] # 切片0到2,步长默认为1
lst[2: : -1] # 倒着切片,用步长为-1控制
2、列表的增删改查
1、增加, 因为list可变所以直接在原来对象上操作
lst = [11, 22, 33,]
lst.append("wusir") # 将"wusir"添加到list的末尾
lst.insert[1, "刘德华") # 指定位置插入元素,原来的元素向后移一位
lst.extend(可迭代对象) # 迭代添加,在原list末尾迭代添加
2、删除
lst.pop() # 默认删除最后一个
lst.pop(2) # 指定删除2号元素
lst.remove('捅破天') # 删除指定元素, 如果是不存在的元素会报错
lst.clear() # 清空list
del lst[1: 3] # 切片删除
3、修改
lst[1] = "太污" # 把1号元素修改成太污
lst[1: 4: 3] = ["马虎疼", "欧哈依"] # 切片修改也行,如果步长不是1,要注意,元素个数
lst[1: 4] = ["一天天"] # 切片如果没有步长或步长为1,则不用关心个数
4、查询, 列表是一个可以迭代对象,所以可以进行for循环
for e2 in lst:
print(e2) # 输出每一个元素
5、其他操作
1、查询出现次数 count
c = lst.count("太白") # 查询太白出现的次数
2、排序 sort
lst.sort() # 排序,默认升序
lst.sort(reverse = True) # 降序
3、翻转元素顺序(倒序) reverse
lst.reverse() # 将[1, 3, 2, 4] --> [4, 2, 3, 1]
4、列表长度
len(lst) # 计算列表的长度
5、查找索引 index
lst.index(元素) # 通过元素查找索引
3、列表的嵌套
采用降维操作,一层一层的看就好
lst = [1, "太白", "wusir", ["马虎疼", ["可口可乐"], "王林"]]
print(lst[2]) # 找到"wusir"
print(lst[1: 3] # 找到太白和wusir
print(lst[1][1]) # 打印太白的白字
# 将 wusir拿到,然后首字母大写,再输入列表
二、元组和元组嵌套 tuple
tuple: 只读列表
由 () 组成 特点: 不可变,
如果只有一个元素,末尾要加 , 不然不是tuple
不可变:指的是元组内部第一层元素的内存地址不可变
# 索引
print(tu[2])
# 切片
print(tu[2: 5]) # 切片后还是元组
# for 循环遍历元组
for el in tu:
print(el)
# 尝试修改元组
tu = ("水牛", "哈哈哈", [], "呵呵")
# 错误的修改 tu[1] = '马蜂' #报错 TypeError: 'tuple' object does not support item assignment
tu[2].append("麻将台") # 不可变是指,子元素不可变,子元素内部的子元素是可以变得,这个取决于元素是否为可变对象
三、 range
for num in range(10):
print(num)
for num in range(1, 10, 2):
print(num)
for num in range(10, 1, -2): # 反着来, 和切片一样 10, 9,
print(num)