加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – LIST和TUPLE赋值操作

发布时间:2020-12-20 11:04:40 所属栏目:Python 来源:网络整理
导读:为什么在示例II中只有元组更改而在示例I中这两个列表都发生了变化?请考虑这两个程序及其各自的输出(I和II). 一世. L1 = [1,2,3,4]L2 = L1L2.append(5)print("L1: ",L1)print("L2: ",L2) 输出: L1:[1,4,5] L2:[1,5] II. L1=(1,4)L2=L1L2 += (5,)print("L1
为什么在示例II中只有元组更改而在示例I中这两个列表都发生了变化?请考虑这两个程序及其各自的输出(I和II).

一世.

L1 = [1,2,3,4]
L2 = L1
L2.append(5)
print("L1: ",L1)
print("L2: ",L2)

输出:
L1:[1,4,5]
L2:[1,5]

II.

L1=(1,4)
L2=L1
L2 += (5,)
print("L1: ",L2)

输出:
L1:(1,4)
L2:(1,5)

解决方法

在第一个示例中,L1和L2都指向存储的数据,因此如果您更改L1或L2中的任何一个,数据会发生变化,并且通过调用(不确定正确的表达式)L1或L2中的任何一个,新的更改数据将是所示.这种解释适用于列表.列表是可变的. 在第二个示例中,您使用的是不可变的元组.当你想要改变一个不可变的元组时,python会自动创建一个新的元组.这意味着当你向元组L2添加5时,实际上5不会加到原始元组,python会创建一个名为L2的新元组,并添加新数据(5)并保留原始数据(L1)不变.这就是为什么L1没有改变但L2是.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读