# 1.列表的格式 # [数据1,数据2,数据3,···] # 列表 可变数据类型 # 列表可以存储多个数据,数据之间的逗号以英文逗号分隔 # 列表可以存储不同类型数据,但一般存储同一数据类型,这样便于操作 # list_name = [] # 定义了一个空的列表 # 定义了一个有数据的列表 # 可以去索引和切片 print('1.列表的格式') list_name = ['小明', '小刚', '小芳'] print(list_name[0]) # 小明 print(list_name[0][0]) # 小 print(list_name[1:]) # ['小刚', '小芳']
# 2.列表的常规操作 print() print('2.列表的常规操作') list_data = [] # append 追加(在容器的最后添加一个数据) print('append()') list_data.append('小明') # 因为列表是可变数据类型, # 所以不需要使用一个新的列表进行接收 print(list_data)
# pop() popup缩写 意思是弹出 # 根据索引从列表中删除一个数据 # 会返回弹出的数据 # 默认删除最后一个 相当于pop(-1) # 删除指定的索引位置 pop(索引) print() print('pop()') list_data = [1, 2, 3, 4, 5, 6, 7] list_data.pop() # 默认删除最后一个数局 print(list_data) data = list_data.pop(0) # 删除第一个数据 print(list_data) print(data) # 打印弹出的数据
# sort(key,reverse是否倒置,默认False) 对数据进行排序 # 字符串排序是通过ASCII码 print() print('sort()') list_data = [2, 3, 1, 5, 8, 7] list_data.sort() # 默认进行从小到大的排序 print(list_data) list_data.sort(reverse=True) # 启动倒置,从大到小排序 print(list_data)
# reverse() 倒置列表 # sort(reverse=True) 是先排序再倒置 # reverse() 是直接倒置 print() print('reverse()') list_data = [1, 3, 2] list_data.reverse() print(list_data)
# count() 统计里面的某一相同数据有多少个 # 某一个数据出现的次数 # 这是一个获取东西的函数 # 不会修改原列表 print() print('count()') list_data = [1, 3, 2, 1, 1, 2] print(list_data.count(1)) # 1出现的次数为3
# index() 查找索引 找到则返回索引,没找到则报错 # 如果要查找的数据有多个,则返回最近的数据的索引 # 字符串中查找有find和index # 列表查找只有index print() print('index()') list_data = [1, 3, 2, 1, 1, 2] data = list_data.index(3) # 1 print(data) # data = list_data.index(4) # 4没在列表,会报错
# extend(可迭代对象) 补充 延伸 扩大 # 把可迭代对象里面的数据一个一个的追加到列表中 print() print('extend()') list_data1 = [1, 2, 3] list_data2 = [3, 4, 5] print(list_data1+list_data2) list_data1.extend(list_data2) print(list_data1) # 这两行+和extend的结果输出相同 # 但是要知道+只能连接两个相同类型的数据 list_data3 = '小明' # print(list_data1+list_data3) # +连接不同类型会报错 list_data1.extend(list_data3) # 字符串数据会被一个一个拆开放入 print(list_data1) # [1, 2, 3, 3, 4, 5, '小', '明']
# remove(数据) 删除某一个数据 # pop()根据索引删除 # remove()根据数据删除 print() print('remove()') list_data = [1, 2, 3, 2, '小明'] list_data.remove(2) # 只能删掉第一个2 print(list_data) list_data.remove('小明') print(list_data) # list_data.remove(6) # 6不在列表中,会报错
# insert() 插入数据 # 会把原列表当前输入索引及之后索引后移一位 print() print('insert()') list_data = [1, 2, 3] list_data.insert(0, '小明') # 在索引为0的位置插入 print(list_data)
# clear() 清空列表中的数据 print() print('clear()') list_data = [1, 2, 3] list_data.clear() # 删除列表中的全部数据 print(list_data)
# copy() 复制 深复制 浅复制 print() print('copy()') # 深复制 完全复制() # 两个变量所指向的存储位置是同一个 list1 = [1, 2, 3] list2 = list1 list2.pop() # 删除list2的3 print(list2) print(list1) # 但是list1的3也没有了 # 浅复制 copy() 只复制表面数据 list1 = [1, 2, 3] list2 = list1.copy() list2.pop() print(list2) print(list1)
# 3.浅说公共方法 print() print('3.浅说公共方法') # len() 获取容器里面的长度 print('len') print(len('12345')) # 5 print(len([1, 2, 4])) # 3 # del 删除变量 print() print('del') list1 = [1, 2, 3] del list1[0] # del(list1[0]) print(list1) # 橙色的是关键字参数 紫色的是函数 # 系统函数可以作为变量名称使用, # 但是作为变量名称使用后,将没有原函数的功能
# 4.遍历列表 print() print('4.遍历列表') list_data = ['a', 'b', 'c'] for i in list_data: print(i)
# 5.列表的嵌套使用 print() print('5.列表的嵌套使用') list1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] list2 = [1, 2, [1, 2, [1, 2]]] # 多层嵌套 print(list1[1][1]) # 取到list1的5
# 6.元组 tuple # 是小括号() # 是不可变数据类型 # 不能删除,修改,和增加 print() print('6.元组') tuple_data = (1, 2, 3, 4) print(type(tuple_data)) # 单个数据的元组 tuple_data = (66,) # 单个数据的元组,需要在后面加逗号 print(type(tuple_data)) tuple_data0 = (66) # 如果没有逗号,则数据类型为没有括号时的数据类型 print(type(tuple_data0))
# 今日作业 ''' 1,办公室里有张三,李四,王五3个人, 现在小宋也到班公室来上班了, 如何用列表来表示?并输出办公室有哪些人; 2,过了一会,王五有事离开了办公室, 程序应该如何表达?并输出办公室有哪些人 ''' print() print('今日作业') list_people = ['张三', '李四', '王五'] # 创建列表存储这三个人 list_people.append('小宋') # 小宋来上班 # list_people.insert(3, '小宋') print(list_people) list_people.remove('王五') # 王五离开 # list_people.pop(2) # 根据索引删除 print(list_people)