python - 为什么集合似乎表现不同?
问题描述
在下面的示例中,当在集合 B 上调用 .add() 方法时,集合 A 也会受到影响:
A = {0,1,3,4,5}
B = A
B.add(10)
我期望这是因为 A 和 B 都指向同一个集合对象。
但是,在这种稍微不同的情况下,集合 A 不受影响:
A = {0,1,3,4,5}
B = A
B = B - {0,1}
在第二个例子中,为什么要为 B 创建一个新对象来指向?是什么解释了这种行为差异?
解决方案
您对第一种情况是绝对正确的-A
并且B
是同一个对象。
对于第二个示例,表达式B - {0,1}
正在创建一个新集合。那个新集合被分配回B
,所以现在B
不再相同A
了。
推荐阅读
- r - R将不同长度的不同变量合二为一,生成一个控制组
- c# - Xamarin、SQL、无法连接到 SQL Server Browser。确保 SQL Server Broswer 已启动
- python - 根据另一列中的其他值列表替换一列中的字符串值
- python - Python Pandas .to_sql() 使用 chunksize > 1 时出现错误 22018
- python - using button feature in dash
- python - Django 表单除了提交按钮没有显示
- javascript - 为什么当我在输入字段上单击输入键时切换下拉列表?
- python - 从两个现有的 DataFrame 创建一个新的 DataFrame
- python - 无法用 pika 清除 rabbitmq 队列
- audio - FFmpeg:在特定时间后覆盖另一个视频,包括音频