基础数据类型[列表]

一.列表

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() # 清空list
print(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])
# 找到路飞和suolon
print(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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值