Python自学之路之day04-基本数据类型(list、tuple)
一、列表
1.1 列表介绍
列表是python的基础数据类型之一 ,其他编程语⾔也有类似的数据类型. 比如JS中的数组, java中的数组等. 它是以[ ]括起来, 每个元素⽤' , '隔开⽽且可以存放各种数据类型:
lis = ["流浪","光辉","德玛","皇子",1,("我","是","元","祖"),["我是列表",]]
列表相比于字符串. 不仅可以存放不同的数据类型. 而且可以存放大量的数据. 32位python可以存放: 536870912个元素, 64位可以存放: 1152921504606846975个元素.而且列表是有序的(按照你保存的顺序),有索引, 可以切片方便取值.
1.2 列表的索引和切片
# 根据索引取元素 lis = ["流浪","光辉","德玛","皇子"] print(lis[0]) print(lis[1]) print(lis[2]) print(lis[3]) # 列表修改 lis[0] = "阿狸" print(lis) # 列表切片 print(lis[0:3]) #顾头不顾尾 print(lis[:3]) #同上 ## 步长为2 print(lis[1::2]) # ['光辉', '皇子'] print(lis[1:-1]) # ['光辉', '德玛'] print(lis[-1:-3:-2]) # ['皇子']
1.3 列表增删改查
lst = ["盖伦","流浪","皇子","光辉","蒙多","剑圣"] # 增(append) lst.append("琴女") print(lst) ## 指定索引位置后插入 lst.insert(1,"刘德华") print(lst) ## 迭代添加,把列表的每个元素,新增到lst列表 lst.extend(["AD","AP"]) print(lst) #删除(pop, remove, clear, del) ## pop 删除最后一个,并返回删除的元素 print(lst.pop()) ## pop 删除指定索引位置元素 print(lst.pop(0)) ## remove 删除指定元素,删除的元素若不存在,则报错 lst.remove("光辉") print(lst) # clear 清空列表 lst.clear() print(lst) # del 删除指定元素位置元素 del lst[1] print(lst) ## 切片删除,顾头不顾尾 del lst[1:3] print(lst)
1.4 修改
## 修改0索引位置值为"不盖伦" lst[0] = "不盖伦" print(lst) ## 切片替换 lst[1:4] = ["替换了1-4索引的值"] print(lst) ## 带步长切片替换,给定的元素不够时,会报错 lst[1:5:2] = ["替换了1-4索引的值","步长为2"] print(lst)
1.5 其它操作
lst = ["盖伦","流浪","皇子","光辉","蒙多","剑圣","光辉"] ## 查询"光辉"出现的次数 print(lst.count("光辉")) ## sort排序 默认升序 lst_sort = [2,1,6,3,22,12,4] lst_sort.sort() print(lst_sort) ## sort 降序 lst_sort.sort(reverse=True) print(lst_sort)
二、列表嵌套
lst = ["流浪",10,["AD","AP",["法师","打野"]],"123"] ## 找到元素"法师" print(lst[2][2][0]) ## 找到"AD AP" print(lst[2][0:2]) ## 找到流浪的浪字 print(lst[0][1]) ## 拿到AD变为小写 print(lst[2][0].lower()) ## 把流浪更改为流飞 lst[0] = lst[0].replace("浪","飞") print(lst)
三、元组和元组嵌套
元组: 俗称不可变的列表.又被成为只读列表, 元组也是python的基本数据类型之⼀, ⽤小括号括起来, 里面可以放任何数据类型的数据, 查询可以. 循环也可以. 切片也可以. 但就是不能改.
tu = ("流浪","光辉","德玛","剑圣") ## 打印元素 print(tu[0]) print(tu[1]) print(tu[2]) print(tu[3]) ## 切片打印,包头不包尾 print(tu[1:3])
关于元组中元素修改:
这里元组的不可变的意思是子元素不可变. 而子元素内部的子元素是可以变, 这取决于子元素是否是可变对象,元组中如果只有一个元素. 一定要添加一个逗号, 否则就不是元组

浙公网安备 33010602011771号