本节主要内容:
1. 列表
2. 列表的增删改查
3. 列表的嵌套
4. 元组和元组嵌套
5. range
1.列表
列表说明:列表是Python的基础数据类型之一,其他编程语言也有类似的数据类型,比如js的数组.java的数组等等.它是以[]括起来,每个元素用','隔开而且可以存放各种数据类型:
列表相较于字符串,不仅不可以存放不同的数据类型,而且可以存放大量的数据,32位Python可以存放536870912个元素,64位可以存放: 1152921504606846975个元素.而且列表是有序的(按照您保存的顺序),有索引,可以切片方便取值.
1.1 列表的索引和切片
这里和字符串一样,可以通过索引取值和切片取值. 注意列表的切片后还是列表.
如下示例:
lst = ["周星星","周润发","周杰伦","周星驰","刘德华","成龙"] print(lst[0]) #按照索引取值 print(lst[0:2]) #用切片取值,并且敢是顾头不顾尾 print(lst[1:5:2]) #可以设置步长来跳着取 print(lst[4:1:-1]) #也可以反着取
1.2 列表的增
列表和字符不同的一点是列表可以进行增删除改查操作.
列表的增有三种, append,insert,extend
示例如下:
#列表的增.包话append.insert,expend lst.append("王小明") # append是在列表的后面增加 print(lst) lst.insert(1,"邓超") #指定索引增加列表,之前位置的值向后偏移. print(lst) lst.extend("曾小贤") #会把迭代对像循环后获取元素放入列表.并且是放在后面 print(lst)
这里注意的是如何把字符串转化为列表,有两种方法
一种是字符串的split方法和列表的extend方法.两种方法,还是extend比较好.
1.3列表的删除
列表的删除有四个方法,分别是pop,remove,clear,del
示例如下:
注意pop平是是这样调用的,pop()如果传入索引的话,也可以删除指定索引的内容
并且如果p = lst.pop()那么p会收到pop()的删除内容.也是四个删除方法里面唯一返回删除内容的方法
#列表的删除,删除有四个 pop,remove ,clear,del lst.pop() #pop可以删除最后一个,如果指定索引的话,可以删除指定索引的内容. print(lst) lst.pop(2) print(lst)
remove 是指定内容删除,但是只删除第一个内容,后面的不删除.同时如果删除的内容不存在,会报错
lst.remove("刘德华") print(lst) # lst.remove("哈哈") #remove是指定内容,然后删除会报错.
clear 是清空列表,并且返回空列表
#clear 是清空列表,并且返回空列表 lst.clear() print(lst)
del是切片删除,并且返回也是列且
示例:
del lst[1:3] print(lst)
1.3 列表的改
list 改,就是通过索引赋值,以及切片赋值的方法.
这里要注意的是切片赋值
切片赋值的话,会把赋值内容给迭代了.这里要注意一下.
另外切片赋值如果步长不为1的话,那么切片的元素长要和迭代内容的元素个数一致.
示例如下:
lst = ["周星星","周润发","周杰伦","周星驰","刘德华","成龙","刘德华"] lst[0] = "刘聪" #单个赋值改的话,直接赋值即可.支持字符串,和列表赋值 print(lst) lst[1] = ["王外一"] print(lst) #切片赋值 #lst[0:3] = "宋佳ddddd" #注意这里,如果切片改的话,那么会把字符迭代了. print(lst) lst[0:5:2] = "宋佳1" #这里要注意,比果切片的步长不是1,切片的元素和赋值的元素必须一致,否则会报错.-1也会报错 print(lst) lst[-1:-5:-1] = "宋佳1"
1.4 列表的查询
列表的查询用for循环来查询.
示例:
#列表的查询 for w in lst: print(w)
1.5 列表的其他操作
主要有sort(),len(),count(),和reverse()
sort()排序,升序,从小到大, 这里要注意是对数字的排序,如果是字母的话,按字母表来排序.如果是中文的话,不能排序.如果是字序型数字,按个位数排序
关于字符型数字的排序示例如下:
#列表的查询 # for w in lst: # print(w) s = "dafgadgfaggagaeqqq" lst= ["20","3","3","501","111","6"] # lst.clear() # lst.extend(s) lst.sort() print(lst)
升序是通过下面的方法实现
lst.sort(reverse = True)
即sort方法中增加reverse的选项
count()
统计列表中元素出现的次数
示例:
lst = ["周星星","周润发","周杰伦","周星驰","刘德华","成龙","刘德华"] a = lst.count("刘德华") print(a)
reverse()
列表进行翻转
示例如下:
lst = ["周星星","周润发","周杰伦","周星驰","刘德华","成龙","刘德华"] # a = lst.count("刘德华") # print(a) lst.reverse() print(lst)
len()
获取列表的长度
示例代码如下:
l = len(lst) print(l)
2.列表的嵌套
列表的嵌套: 列表放列表就是嵌套,采用降维操作.一层一层的看就好.
示例:
li = [1, 5, True, "哈哈", ["张无忌", "wusir", "周芷若", "赵敏"], ["金庸", "琼瑶", "古龙", "孙晓"]] #将wusir拿到. 然后首字母大写. 再扔回去 li[4][1] = li[4][1].capitalize() print(li)
3.元组和元组的嵌套
元组: 俗称不可变的列表.又被成为只读列表, 元组也是python的基本数据类型之一, 用小括号括起来, 里面可以放任何数据类型
的数据, 查询可以. 循环也可以. 切片也可以. 但就是不能改.不能删除.