Python对象的比较、拷贝
535
0
[collapse title="代码块" status="false"]
#!/usr/bin/env python
# coding: utf-8
# In[2]:
l1 = [1, 2, 3]
l2 = list(l1)
print(l2)
# In[6]:
a = 10
b = 10
print(a == b)
print(id(a))
print(id(b))
print(a is b)
# 以上a is b为 True 的结论,只适用于 -5 到 256 范围内的数字
# In[10]:
l1 = [1, 2 ,3]
l2 = list(l1)
print(l2)
print(l1 == l2)
print(l1 is l2)
# In[12]:
l1 = [1, 2, 3]
l2 = l1[:]
print(l1 == l2)
print(l1 is l2)
# In[15]:
import copy
l1 = [1, 2, 3]
l2 = copy.copy(l1)
print(l2)
# In[17]:
t1 = (1, 2, 3)
t2 = tuple(t1)
print(t2 == t1)
print(t2 is t1)
# 使用 tuple() 或者切片操作符':'不会创建一份浅拷贝
# 相反,它会返回一个指向相同元组的引用
# In[19]:
l1 = [[1, 2], (30, 40)]
l2 = list(l1)
l1.append(100)
l1[0].append(3)
print(l1)
print(l2)
l1[1] += (50, 60)
print(l1)
print(l2)
[/collapse]
[collapse title="截图" status="false"]
[/collapse]