列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型.比如JS中的数 组, java中的数组等等. 它是以[ ]括起来, 每个元素用' , '隔开而且可以存放各种数据类型: 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类
型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:
li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]
列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。
1.列表的创建
1 # 创建一个列表有三种方式:2
3 # 方式一:(常用)4 l1 = [1, 2, '太白']5
6 # 方式二:(不常用)7 l1 =list() # 空列表8 # l1 =list(iterable) # 可迭代对象9 l1 = list('123')10 print(l1) # ['1', '2', '3']11
12 # 方式三:列表推导式13 l1 = [i for i in range(1,5)]14 print(l1) # [1, 2, 3, 4]
2.列表的索引切片
1 l1 = ['a', 'b', '太白', 3, 666]2 print(l1[0]) # 'a'
3 print(l1[-1]) # 666
4 print(l1[1:3]) # ['b', '太白']5 print(l1[:-1]) # ['a', 'b', '太白', 3]6 print(l1[::2]) # ['a', '太白', 666]7 print(l1[::-1]) # [666, 3, '太白', 'b', 'a']
li = [1, 3, 2, "a", 4, "b", 5,"c"]
通过对li列表的切片形成新的列表l1,l1= [1,3,2]
通过对li列表的切片形成新的列表l2,l2= ["a",4,"b"]
通过对li列表的切片形成新的列表l4,l4= [3,"a","b"]
通过对li列表的切片形成新的列表l6,l6= ["b","a",3]
练习题
3.增 append();insert();extend()
#append 追加,给列表的最后面追加一个元素
l = [1, 2, 'a']
l.append(666)print(l) #[1, 2, 'a', 666]
#insert 插入在列表的任意位置插入元素
l = [1, 2, 'a']
l.insert(1,'太白')print(l) #[1, '太白', 2, 'a']
#extend 迭代着追加,在列表的最后面迭代着追加一组数据
l = [1, 2, 'a']
l.extend('太白a')print(l)
列表的增
4.删 pop(index) , remove(value) , clear() , del
1 #pop 通过索引删除列表中对应的元素,该方法有返回值,返回值为删除的元素 默认删除最后一个元素
2 l = ['太白', 'alex', 'WuSir', '女神']3 ret = l.pop(1)4 print(ret,l) #alex ['太白', 'WuSir', '女神']
5
6 #remove 通过元素删除列表中该元素
7 l = ['太白', 'alex', 'WuSir', '女神']8 l.remove('alex')9 print(l) #['太白', 'WuSir', '女神']
10
11 #clear 清空列表
12 l = ['太白', 'alex', 'WuSir', '女神']13 l.clear()14 print(l) #[]
15
16 #del
17 #按照索引删除该元素
18 l = ['太白', 'alex', 'WuSir', '女神']19 del l[2]20 print(l) #['太白', 'alex', '女神']
21
22 #切片删除该元素
23 l = ['太白', 'alex', 'WuSir', '女神']24 del l[1:]25 print(l) #['太白']
26
27 #切片(步长)删除该元素
28 l = ['太白', 'alex', 'WuSir', '女神']29 del l[::2]30 print(l) #['alex', '女神']
31
32 列表的删
5.改
#按照索引改值
l = ['太白', 'alex', 'WuSir', '女神']
l[0]= '男神'
print(l) #['男神', 'alex', 'WuSir', '女神']
#按照切片改值(迭代着增加)
l = ['太白', 'alex', 'WuSir', '女神']
l[1:3] = 'abcdefg'
print(l) #['太白', 'a', 'b', 'c', 'd', 'e', 'f', 'g', '女神']
#按照切片(步长)改值(必须一一对应)
l = ['太白', 'alex', 'WuSir', '女神']
l[::2] = '对应'
print(l) #['对', 'alex', '应', '女神']
列表的改
6.查
切片去查,或者循环去查。
7.公共方法
len()
count(value)
index(value) 列表只有此方法,元素不存在报错
8.排序 sort()正向排序
反向排序 sort(reverse = True)
ps:若一个列表全是字符串,该如何排序? ----根据字符串首字母在ASCII码中的顺序进行排序。
9.列表反转 reverse()
二、列表的嵌套
li = ['taibai','武藤兰','苑昊',['alex','egon',89],23]#print(li[1][1]) 找 '藤'#name = li[0].capitalize()## print(name)#li[0] = name#li[0] = li[0].capitalize()#li[2] = '苑日天'#print(li[2].replace('昊','ritian'))#li[2] = li[2].replace('昊','ritian')#li[3][0] = li[3][0].upper()#print(li)