个人理解:
python 的list 列表,非常类似java 的数组,也类似于shell脚本里的数组。就是一个变量,存的是一组不同的数据。
比如 list1 = [123,[1,2,3,4,"hehe"],"陈司大帅哥"] 这个列表。就可以拆分成
list1[0] = 123
list1[1] = [1,2,3,4,"hehe"] (list1的下标1,存的是一个新的list。如果我想通过list1变量获取里边的hehe ,可以用 list1[1][4]的方式。类似于JAVA的二维数组)
list1[2] = "陈司大帅哥"
这种只用一个变量名,可以存放不同类型数据的方式,并通过变量下标取出指定数据的方式,就称为列表。
同事,字符串严格来说也可以作为一个列表去看待,因为一样可以通过下表取出指定位置的字符串。相当于单个字符串的一个组合体。
但是int 整形类型是不可以作为list 去看待的。比如int 1234 这个数字,不能用下标的形式取出个十百千任何位置的数字。
例
字符串可以name1 可以取出数字2,但是num1 用下表获取直接报错。
常见方法
1、修改列表内容。
将 list1 = [123,[1,2,3,4,"hehe"],"陈司大帅哥"] 列表里的 "hehe" 修改成 "haha"
list1 = [123,[1,2,3,4,"hehe"],"陈司大帅哥"] #通过分析,hehe 这个值是list1[1]下的[4]的值,123位 list[1]的值 #删除list1[1] del list1[1] del ist1[1][4]=[1,2,3,4,"haha"] print(list1)
运行
2、删除列表内容
删除 list1 = [123,[1,2,3,4,"hehe"],"陈司大帅哥"] 中的123,与 hehe
(1)del 方法
list1 = [123,[1,2,3,4,"hehe"],"陈司大帅哥"]
#通过分析,hehe 这个值是list1[1]下的[4]的值,123位 list[1]的值
#删除list1[1]
del list1[1][4]
del list1[0]
print(list1)
需要注意的是,一旦连续执行两条以上的del 列表,第二次删的时候,所有下标都会重新计算的。如删除了下标0 ,则再次删除的时候,之前的下标1此时就变成了下标0
(2)list.pop(可以传要删除的下标)方法,并返回删除的list 元素,若不加索引,默认删除最后一个索引。需注意的是,如果list里边的元素依然是list 则无法直接删除该双重list里的某个值。
list1 = [123,[1,2,3,4,"hehe"],"陈司大帅哥"] v1 = list1.pop(1) v2 = list1.pop(0) print(list1) print(v1) print(v2)
运行结果:
(3)list.remove()方法,参数为列表中具体的值,而非下标。默认从左向右删除。
3、追加list 数据
(1)list.append() 方法,可以在list 列表的最后面追加新的元素。
如
list1 = [ 1,2,3] #append 方法追加字符串“陈司大帅哥” list1.append("陈司大帅哥")
print(list1)
运行结果
(2)list.extend()方法。
区别于 append ,append 是在列表后边追加任意元素,可以追加列表,也可以追加数字,字符串。
而extend(参数必须为可迭代对象,不能是int) 方法,中文意思是拓展的意思,所以是追加一个新的list 并将两个list 合并成同一个list。
实例
list1= ["1" , 234 , [1,2,3]] list1.append([1,"chensi","shuaige"]) print(list1) list2= ["1" , 234 , [1,2,3]] list2.extend([1,"chensi","shuaige"]) print(list2)
运行结果
4、list.clear() 清空列表里的数据
用法略。
5、list.count()传入一个参数,用来判断该参数在列表中出现的次数。
list1 = [ 1,2,3,4,4,3,4,4,2]
print(list1.count(4))
print(list1.count(3))
运行结果
6、list.reverse() 方法,将列表里的所有内容进行反转。
list1 = [123,[1,2,3,4,"hehe"],"陈司大帅哥"] print(list1) list1.reverse() print(list1)
运行结果
也可以将列表里的列表也进行反转。
7、list.sort() 对列表内容进行排序。
list1 = [1, 3, 6, 9, 2, 5]
#默认正序排列 list1.sort() print(list1)
#倒叙排列的参数 list1.sort(reverse=True) print(list1)
运行结果