基础数据类型[列表]

mac2022-06-30  24

一.列表

1.列表的介绍

列表是python的基础数据类型之⼀ ,其他编程语⾔也有类似的数据类型. 比如JS中的数组, java中的数组等等. 它是以[ ]括起来, 每个元素⽤' , '隔开⽽且可以存放各种数据类型:

 

lst = [1, '嗯嗯',  [1,"哦哦"], ( "元", "组"), "abc", {"我叫":"dict字典"},{"我叫集合","集合"}]

 

 

列表相比于字符串. 不仅可以存放不同的数据类型. ⽽且可以存放⼤量的数据. 32位python可以存放: 536870912个元素, 64位可以存放: 1152921504606846975个元素.⽽且列表是有序的(按照你保存的顺序),有索引, 可以切⽚⽅便取值.

 

2.列表的切片和索引

索引

lst = ['路飞','索隆','鸣人','娜美']

print(lst[0]) # 获取第一个元素  以此类推

print(lst[1]) # 第二个元素

 

lst[2] = '乔巴' ## 注意. 列表是可以发⽣改变的. 这⾥和字符串不⼀样

print(lst)  # ['路飞','索隆','乔巴','娜美']

 

s0 = "娜美"s0[0] = "美" # TypeError: 'str' object does not support item assignment 不允许改变print(s0)

 

切片

lst = ['路飞','索隆','乔巴','娜美','罗宾']

print(lst[0:3]) # ['路飞','索隆','乔巴'']print(lst[:3]) # ['路飞','索隆','乔巴']print(lst[1::2]) # ['王剑索隆', '娜美'] 也有步⻓print(lst[2::-1]) # ['乔巴', '索隆', '路飞'] 也可以倒着取print(lst[-1:-3:-2]) # 倒着带步⻓

 

二.列表的增删改查

1. 增, 注意, list和str是不⼀样的. lst可以发⽣改变. 所以直接就在原来的对象上进⾏了操作

lst = ['路飞','索隆','乔巴','娜美']print(lst)lst.append("罗宾")print(lst)lst = []while True:   content = input("请输⼊你要录⼊的员⼯信息, 输⼊Q退出:")   if content.upper() == 'Q':     break   lst.append(content)print(lst)

 

lst = ['路飞','索隆','乔巴']lst.insert(1,'罗宾') # 在1的位置插⼊罗宾. 原来的元素向后移动⼀位print(lst)# 迭代添加lst = ['路飞','索隆','乔巴']lst.extend(['罗宾','山治'])print(lst)

 

2.删除

pop,remove,clear,del

lst = ['路飞','索隆','乔巴','娜美']print(lst)deleted = lst.pop() # 删除最后⼀个print("被删除的", deleted)print(lst)el = lst.pop(2) # 删除2号元素print(el)print(lst)lst.remove('路飞') # 删除指定元素

print(lst)# lst.remove("哈哈") # 删除不存在的元素会报错# # print(lst)lst.clear() # 清空listprint(lst)# 切⽚删除del lst[1:3]print(lst)

 

3.修改

索引切片修改

# 修改lst = ['路飞','索隆','乔巴','娜美','罗宾']lst[1] = '草帽' # 把1号元素修改成草帽print(lst)lst[1:4:3] = ['山治', '厨子'] # 切⽚修改也OK. 如果步⻓不是1, 要注意. 元素的个数print(lst)lst[1:4] = ['女帝太美了'] # 如果切⽚没有步⻓或者步⻓是1. 则不⽤关⼼个数print(lst)

 

4. 查询, 列表是⼀个可迭代对象, 所以可以进⾏for循环

for i in lst:   print(i)

 

5. 其他操作

lst = ['路飞','索隆','乔巴','娜美','罗宾','路飞']c = lst.count('路飞') # 查询路飞出现的次数print(c)lst = [1, 11, 22, 2]lst.sort() # 排序. 默认升序print(lst)lst.sort(reverse=True) # 降序print(lst)

 

lst = ['路飞','索隆','乔巴','娜美','罗宾','路飞']print(lst)lst.reverse()print(lst)l = len(lst) # 列表的⻓度print(l)

 

三. 列表的嵌套 采⽤降维操作.⼀层⼀层的看就好.

lst = [1, "路飞", "suolon", ["罗宾", ["乔巴"], "娜美"]]# 找到索隆print(lst[2])# 找到路飞和suolonprint(lst[1:3])# 找到路飞的路字print(lst[1][1])# 将suolon拿到. 然后⾸字⺟⼤写. 再扔回去s = lst[2]s = s.capitalize()lst[2] = s

print(lst)# 简写lst[2] = lst[2].capitalize()print(lst)# 把路飞换成路西lst[1] = lst[1].replace("飞", "西")print(lst)# 把罗宾换成萝卜lst[3][0] = lst[3][0].replace("宾", "卜")print(lst[3][0])

lst[3][1].append("山治")print(lst)

 

转载于:https://www.cnblogs.com/Ajie-boby/p/10216901.html

最新回复(0)