python列表

  1. list 列表

(1)语法格式:[元素1,元素2,元素3...]

list_data = [1, 2]

print(list_data, type(list_data))

(2)空列表:list_data = []

print(bool(list_data)) # 判断是否为真假
(3)类型()

list_data = list("123")

list_data = liat((1, 2, 3))

(4)改变元素内容

list_data[2] = 10 #在原列表上改(浅拷贝)

(5)增加元素:[只能添加一个元素]

list_data.append(11) #原列表跟copy列表都添加(浅拷贝)

注:list中的办法:help(list)

(6)移除列表中所有的元素:

list_data.clear() # {产生一个新的列表}(浅拷贝)

(7)打印类型的id

print(id(类名)) 返回一个对象的标识

(8)扩展列表:【没有返回值】

list_data.extend([7, 8, 9])

(9)插入元素:

list_data.insert(2{插入的位置},3{数值})

(10)弹出数值

pop_data = List_data.pop()

print(pop_data)

(11)移除数值

list_data= [1,2,3,1]

list_data.romove(1)【移除1,第一个优先】

(12)原地倒置数值reverse

list_data.reverse()

(13)排序数列

list_datad = [243567]

list_data.sort()

print(list_data)
  1. 2.浅拷贝shallow copy

list_data = [...]

copy_list = list_data.copy()

copy_liat[2]append("Java")

可变的元素指向会变,不可变的元素会指向同一个地址

  1. 由于 Python 内部引用计数的特性,对于不可变对象,浅拷贝和深拷贝的作用是一致的,就相当于复制了一份副本,原对象内部的不可变对象的改变,不会影响到复制对象

  2. 浅拷贝的拷贝。其实是拷贝了原始元素的引用(内存地址),所以当拷贝可变对象时,原对象内可变对象的对应元素的改变,会在复制对象的对应元素上,有所体现

  3. 深拷贝在遇到可变对象时,又在内部做了新建了一个副本。所以,不管它内部的元素如何变化,都不会影响到原来副本的可变对象

  4. 扩展列表extend list

扩展列表:isterable:str,tuple,

list_data = [1, 2, 3, 4]

liat-data.extend("123")

4.元组真的不可变吗?

tuple_data = ("123", 8, [1, 2, 3])

tuple_data[0] = 23 # {不会变 }

tuple_data [2] [1] = 5 # {会变}

难点:深拷贝和浅拷贝的区别(搞懂)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值