python 下标越界_python_04笔记

# 内置函数:

# print(),len()

# 重点掌握

# 增:append(),insert(),extend()

# 列表的函数/功能

# 增删改查

# 增:插入元素

# append(n):在列表末尾插入元素

nums = [2, 3, 4]

nums.append(5)

print(nums) # [2, 3, 4, 5]

# insert(i,n):在列表指定下标位置插入元素

nums = [2, 3, 4]

# nums.insert(0, 5)

nums.insert(2, 5)

print(nums) # [5, 2, 3, 4]

# extend() 依次添加多个元素到末尾

nums = [2, 3, 4]

nums.extend([5, 6, 7]) # [2, 3, 4, 5, 6, 7]

# nums.append([5, 6, 7]) # 当成一个元素加入

print(nums)

# 删

# pop(i):根据下标删对应的元素

stars = ['宝强', '乃亮', '伊俐', '羽凡', '霆锋']

n = stars.pop(1) # ['宝强', '伊俐', '羽凡', '霆锋']

print(stars)

print(n)

# remove(n):删除指定的第一个元素

nums = [1, 2, 2, 2, 2, 3, 3, 4]

nums.remove(2) # [1, 2, 2, 2, 3, 3, 4]

print(nums)

# 统计指定元素出现的次数

print(nums.count(2))

for _ in range(nums.count(2)):

nums.remove(2)

print(nums)

#

nums = [1, 2, 3, 4, 5, 6, 7]

# nums2=nums

# del nums

# print(nums2)

del nums[2:5]

print(nums) # [1, 2, 6, 7]

# clear(): 清空列表

nums = [1, 2, 3, 4, 5, 6, 7]

nums.clear()

print(nums) # []

# 改

nums = [1, 2, 3, 4, 5, 6, 7]

nums[0] = 99

print(nums)

# 查

print(nums[0])

# 循环遍历查询

# index(): 找到列表中第一次出现指定元素的下标

nums = [1, 2, 3, 4, 5, 6, 7]

print(nums.index(4))

# 数学功能

ages = [1, 3, 4, -6, 5, 88, 2]

print(max(ages)) # 最大值

print(min(ages)) # 最小值

print(sum(ages)) # 求和

# 排序

# sort() :升序(从小到大),会改变原列表

# sort(reverse=True) :降序(从大到小),会改变原列表

ages = [1, 3, 4, -6, 5, 88, 2]

# ages.sort() # 升序

ages.sort(reverse=True) # 降序

print(ages)

# sorted() : 升序(从小到大),不会改变原列表

ages = [1, 3, 4, -6, 5, 88, 2]

# ages2=sorted(ages)

ages2 = sorted(ages, reverse=True)

print(ages, ages2)

# 倒序,逆转,逆序,反转

ages = [1, 3, 4, -6, 5, 88, 2]

# print(ages[::-1])

# reverse(): 倒序,会改变原列表

ages.reverse()

print(ages)

# reversed() :倒序,不会改变原列表

ages = [1, 3, 4, -6, 5, 88, 2]

age2 = reversed(ages)

print(ages, list(ages2))

# 拷贝

# 数据类型

# 基本类型/不可变类型:int,float,bool,str,tuple

# 引用类型/可变类型:list,dict,set

# 赋值类型

# 不可变类型的赋值

a = 100

b = a

a = 99

print(a, b) # 99 100

# 可变类型的赋值,有关联

nums1 = [1, 2, 3]

nums2 = nums1

nums1[1] = 99

print(nums1, nums2) # [1, 99, 3] [1, 99, 3]

# 拷贝/复制

# 浅拷贝/浅复制

nums1 = [1, 2, 3]

nums2 = nums1.copy()

nums1[1] = 99

print(nums1, nums2) # [1, 99, 3] [1, 2, 3]

# 深拷贝/深复制

nums3 = [1, 2, 3, [4, 5, 6]]

nums4 = nums3.copy() # 浅拷贝,只能拷贝第一层

# nums3[1] = 99

# print(nums3, nums4)

# [1, 99, 3, [4, 5, 6]] [1, 2, 3, [4, 5, 6]]

nums3[-1][1] = 100

print(nums3, nums4)

# [1, 2, 3, [4, 100, 6]] [1, 2, 3, [4, 100, 6]]

import copy

nums3 = [1, 2, 3, [4, 5, 6]]

nums4 = copy.deepcopy(nums3) # 深拷贝,拷贝所以层

nums3[-1][1] = 100

print(nums3, nums4)

# [1, 2, 3, [4, 100, 6]] [1, 2, 3, [4, 5, 6]]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值