7.3 列表类型及内置方法

列表

作用:多个装备,多个爱好,多门课程等

定义:[]内可以有多个任意类型的值,逗号分隔

province_name_list = ['北京','上海','天津','广州','深圳']
province_name_list1 = list(['北京','shanghai','天津',5,'深圳'])

print(province_name_list)  # ['北京', '上海', '天津', '广州', '深圳']
print(province_name_list1)  # ['北京', 'shanghai', '天津', 5, '深圳']

能存一个还是多个值

# 能存多个值

有序还是无序

# 是有序的( 有序无序判断依据: 是否能按索引取值 )

可变还是不可变

# 是可变的 ( 判断依据: 可以在原id地址修改值 )

需要掌握

# 1. 按索引存取值(正向存取+反向存取):即可存也可以取

l = [1,2,3,4]
print(l[0:4:1])  # [1, 2, 3, 4]
print(l[0::])  # [1, 2, 3, 4]
print(l[5::-1])  # [4, 3, 2, 1]
print(id(l))  # 4508301640
l[0] = 69
print(id(l))  # 4508301640
print(l)  # [69, 2, 3, 4]

# 2. 切片(顾头不顾尾,步长)

province_name_list = ['北京','上海','天津','广州','深圳']

print(province_name_list[1:4])  # ['上海', '天津', '广州']
print(province_name_list[-2:])  # ['广州', '深圳']

# 3. 长度

l = [11,22,33,44,55]
print(len(l))
>>>
5

# 4. 成员运算in和not in

l = [11,22,33,44,55]
print( 444 in l)
>>>
False

# 5. 往列表中添加元素(#####重点#####)

  append

## 尾部添加一个66
l = [11,22,33,44,55]
l.append(66)
print(l)
>>>
[11, 22, 33, 44, 55, 66]

  insert

## 任意位置添加元素
l = [11,22,33,44,55]
l.insert(2,96)  # 通过索引在任意位置添加元素
print(l)  # 注意insert值能将被添加的数据当作列表的一个元素
>>>
[11, 22, 96, 33, 44, 55]

  extend

## 添加容器类型数据
l = [11,22,33,44,55]
l1 = [99,88,77,66]
l.append(l1)
l.insert(-1,l1)
l.extend(l1)  # 内部原理for循环l1一个个追加到列表的尾部
l.extend([1,])
print(l)
>>>
[11, 22, 33, 44, 55, [99, 88, 77, 66], [99, 88, 77, 66], 99, 88, 77, 66, 1]

# 6. 删除

# del
l = [11,22,33,44,55] print(l) # [11, 22, 33, 44, 55] del l[2] # del适用于所有的删除操作 print(l) # [11, 22, 44, 55]
# pop
l = [11,22,33,44,55
res1 = l.pop()  # 尾部弹出
res2 = l.pop()
res3 = l.pop()
print(res1,res2,res3)  # 55 44 33

l = [11,22,33,44,55]
res1 = l.pop(0)  # 可以指定索引 按照索引弹出元素
print(res1)  # 11
#remove
l = [11,22,33,44,55]
res = l.remove(33)  # 指定要删除的元素的值
print(l)  # [11, 22, 44, 55]
print(res)  # None

# 7. 循环

l = [11,22,33,44,55]
for i in l:
    print(i)
>>>
11
22
33
44
55

# 8. 计数count

# count()
l = [1,2,3,4,5,6,7]
res = l.count(8)
print(res)
>>>
0

# 9. 清空clear

l = [1,2,3,4,5,6,7]
print(id(l))  # 4424747336
res = l.clear()
print(l)  # []
print(res)  # None
print(id(l))  # 4424747336 # id不变

# 10. 反转reverse

l = [1,2,3,4,5,6,7]
print(l,id(l))  # [1, 2, 3, 4, 5, 6, 7] 4386421064
l.reverse()  # 将列表反转
print(l,id(l))  # [7, 6, 5, 4, 3, 2, 1] 4386421064

# 11. 排序sort

l = [45,645,2,4,54,6,66]
l.sort()
print(l)  # [2, 4, 6, 45, 54, 66, 645]
# 排序 默认情况下是从小到大(升序)

l1 = [43,6,1,7,99]
l1.sort(reverse=True)  # 可以通过指定参数来修改默认的拍讯规则(降序)
print(l1)  # [99, 43, 7, 6, 1]
# 队列   先进先出
l1 = []
# 先进
l1.append('first')
l1.append('second')
l1.append('third')
# 先出
print(l1.pop(0))  # first
# 堆栈   先进后出
l1 = []
# 先进
l1.append('first')
l1.append('second')
l1.append('third')
# 后出
print(l1.pop())  # first

转载于:https://www.cnblogs.com/PowerTips/p/11129662.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值