--- title: List 列表 date: 2020-07-22 22:29:24 tags: [Python] categories: [Python] author: Anges黎梦 --- ## List 列表 > 序列是Python中最基本的数据结构。 > 序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。 > Python有6个序列的内置类型,但最常见的是列表和元组。 > 序列都可以进行的操作包括索引,切片,加,乘,检查成员。 ## 创建列表 > 创建列表,只需要用逗号把元素分割开,用方括号括起来。 ``` list_1 = ['abc', 'def', 'jkjl', 12121] print(list_1) ``` 执行结果: ``` ['abc', 'def', 'jkjl', 12121] ``` ## index取值 > 列表中[]的用法,与字符串中的用法一致 > > [开始位置:结束位置:幅度] ``` print(list_1[0]) # 列表中的第一个元素 print(list_1[-1]) # 列表中最后一个元素 print(list_1[::2]) # 从0到2的元素,前闭后开 ``` 执行结果: ``` abc 12121 ['abc', 'jkjl'] ``` ## 更新列表 > append 在列表后,追加元素 ``` list_2 = [] print(list_2) list_2.append(111) print(list_2) list_2.append(222) print(list_2) list_2.append([1,2]) print(list_2) # list_2[3] = 555 不可使用index方式,添加新元素 list_2[2] = 555 # 可以使用index的方式,更新元素 print(list_2) ``` 执行结果: ``` [] [111] [111, 222] [111, 222, [1, 2]] [111, 222, 555] ``` ## 删除列表中的元素 ### del ``` del list_2 del list_2[0] ``` ### remove ``` res = list_2.remove(111) print(list_2) print(res) ``` ### pop ``` res = list_2.pop(0) print(list_2) print(res) ``` ### remove与pop - remove移除某一个元素,传递参数填写的是value值 - pop移除列表中的某一个元素,传递参数为list中的index序列号, 如果不填写参数,那么则移除最后一个元素。 区别: - remove方法,没有返回值,pop会返回它移除的那个元素值。 ## 列表统计 > 下面三个函数,最大和最小两个函数,比对的列表中,所有元素应为同一类型 ``` print(len(list_2)) # 长度 print(max(list_2)) # 最大值 print(min(list_2)) # 最小值 ``` 执行结果: ``` 3 555 111 ``` ## 列表合并 ``` print(list_1+list_2) ``` 执行结果: ``` ['abc', 'def', 'jkjl', 12121, 111, 222, 555] ``` ## 重复 ``` list_3 = list_2 * 3 print(list_3) ``` 执行结果: ``` [111, 222, 555, 111, 222, 555, 111, 222, 555] ``` ## 判断元素是否存在 ``` print(111 in list_2) ``` 执行结果: ``` True ``` ## list 转换为列表 ``` a = "['q','t','y']" print(list(a)) # 字符串中的每一个元素,当作列表中的每一个元素 ``` 执行结果: ``` ['[', "'", 'q', "'", ',', "'", 't', "'", ',', "'", 'y', "'", ']'] ``` ## count > 统计元素在列表中出现的次数 ``` print(list_3.count(111)) ``` 执行结果: ``` 3 ``` ## extend > 列表末尾,添加另一个序列中的多个值 ``` list_3.extend(list_1) print(list_3) ``` 执行结果: ``` [111, 222, 555, 111, 222, 555, 111, 222, 555, 'abc', 'def', 'jkjl', 12121] ``` ## index > 是在列表中找到第一个与搜索值相同的值的index,并返回index ``` print(list_2.index(111)) print(list_3.index(111)) ``` 执行结果: ``` 0 0 ``` ## insert ``` list_2.insert(2, 888) print(list_2) ``` 执行结果: ``` [111, 222, 888, 555] ``` ## sort reverse ``` list_2.sort(reverse=False) # False为从小到大,True为从大到小 print(list_2) list_2.reverse() # 从大到小排序 print(list_2) list_1.reverse() print(list_1) ``` 执行结果: ``` [111, 222, 555, 888] [888, 555, 222, 111] [12121, 'jkjl', 'def', 'abc'] ```