列表的定义
中括号[]内以逗号分隔开,按照索引,存放各种数据类型,每个位置代表一个元素
1 list_t = ['张三','Lucy',123] 2 print(list_t) # ['张三', 'Lucy', 123] 3 4 list_t = list('Alex') 5 print(list_t) # ['A', 'l', 'e', 'x'] 6 7 list_t = list(['张三','Lucy',123]) 8 print(list_t) # ['张三', 'Lucy', 123]
列表的特性
1 # 可以存放多个值 2 # 按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序 3 # 可修改指定索引位置对应的值,可变 4 5 # 注: 6 # 若列表中的元素全部都是字符串, 7 # 则可以使用join使之拼接为字符串, 8 # 否则只能使用for循环拼接为字符串
列表常用操作
索引
1 I = ["egon","alex","seven","yuan"] 2 print(I[0]) # egon 3 print(I[-1]) # yuan 4 print(I[-2]) # seven
切片
1 I = ["egon","alex","seven","yuan"] 2 print(I[1:3]) # ['alex', 'seven'] 3 print(I[1:]) # ['alex', 'seven', 'yuan'] 4 print(I[:3]) # ['egon', 'alex', 'seven'] 5 print(I[:]) # ['egon', 'alex', 'seven', 'yuan'] 6 print(I[::3]) # ['egon', 'yuan'] 跨度为3 7 print(I[::-1]) # ['yuan', 'seven', 'alex', 'egon'] 反转了
长度
1 I = ["egon","alex","seven","yuan"] 2 print(len(I)) # 4
包含
1 I = ["egon","alex","seven","yuan"] 2 if "yuan" in I: 3 print("ok") # ok
循环
1 I = ["egon","alex","seven","yuan"] 2 for i in I: 3 print(i)
分割【字符串转列表】
1 s = "hello world" 2 v = s.split(" ") 3 print(v) # ['hello', 'world'] 4 s = "hello*world" 5 v = s.split("*") 6 print(v) # ['hello', 'world']
连接【列表转字符串】
1 I = ['hello', 'world'] 2 s = "-".join(I) 3 print(s) # hello-world 4 # 注:使用join方法,必须列表元素全部为字符串
列表常用方法
追加、清空
1 # 在原来的值后面追加 2 li = [11,22,33,44] 3 li.append(55) 4 print(li) # [11, 22, 33, 44, 55] 5 # 清空列表 6 li.clear() 7 print(li) # []
拷贝、计算、扩展
1 # 拷贝 2 li = [11,22,33,44] 3 v = li.copy() 4 print(v) # [11, 22, 33, 44] 5 # 计算元素出现的次数 6 v = li.count(22) 7 print(v) # 1 8 9 # 扩展原列表 10 li.extend([234,"不得了"]) 11 print(li) # [11, 22, 33, 44, 234, '不得了']
获取、插入、删除
1 # 根据值获取,值的位置,左边优先 2 li = [11,22,33,44] 3 v = li.index(44) 4 print(v) # 3 5 6 # 在指定索引位置插入元素 7 li.insert(0,30) # 指定位置、要插入的数据 8 print(li) # [30, 11, 22, 33, 44] 9 10 # 删除某个指定索引值,默认为最后一个并获取该值 11 li = [11,22,33,44] 12 v = li.pop(2) 13 print(li) # [11, 22, 44] 14 print(v) # 33 15 16 # 删除列表中的指定值,左边优先 17 li = [11,22,33,22,44] 18 li.remove(22) 19 print(li) # [11, 33, 22, 44]
翻转、排序
1 # 将当前列表翻转 2 li = [11, 33, 22, 44] 3 li.reverse() 4 print(li) # [44, 22, 33, 11] 5 6 # 排序正序 7 li.sort() 8 print(li) # [11, 22, 33, 44] 9 # 排序倒序 10 li = [11, 33, 22, 44] 11 li.sort(reverse=True) 12 print(li) # [44, 33, 22, 11]
range
1 # 注:range在Python2中直接创建 2 # 在Python3中只有当for循环时才挨个创建 3 s = range(1,10) 4 print(s) # range(1, 10) 5 for i in range(1,10): 6 print(i) 7 8 9 # 使用range创建列表,range左边【,右边),步长 10 li = list(range(1,10)) 11 print(li) # [1, 2, 3, 4, 5, 6, 7, 8, 9] 12 li = list(range(1,10,2)) 13 print(li) # [1, 3, 5, 7, 9]