|
发表于 2021-12-11 13:49:24
|
显示全部楼层
- >>> ['frozenset() 对象是不可变的']
- ['frozenset() 对象是不可变的']
- >>> t = frozenset('FishC')
- >>> t
- frozenset({'C', 'i', 's', 'F', 'h'})
- >>> s = set('FishC')
- >>> s
- {'C', 'i', 's', 'F', 'h'}
- >>> s.update([1,1],'23')
- >>> s
- {1, 'C', '3', 'i', '2', 's', 'F', 'h'}
- >>> t.update([1,1],'23')
- Traceback (most recent call last):
- File "<pyshell#7>", line 1, in <module>
- t.update([1,1],'23')
- AttributeError: 'frozenset' object has no attribute 'update'
- >>> s.intersection_update('FishC')
- >>> s
- {'C', 'i', 's', 'F', 'h'}
- >>> s.difference_update('Php','Python')
- >>> s
- {'C', 'i', 's', 'F'}
- >>> s.symmetric_difference_update('Python')
- >>> s
- {'t', 'C', 'P', 'h', 'i', 'n', 'y', 's', 'F', 'o'}
- >>> ['上节课讲到的 没有update, 他们只是返回计算结果,而加上update 之后,是对集合进行更新']
- ['上节课讲到的 没有update, 他们只是返回计算结果,而加上update 之后,是对集合进行更新']
- >>> ['s.update() 即是 s.unionupdate(),即是合并集合']
- ['s.update() 即是 s.unionupdate(),即是合并集合']
- >>> s.add('45')
- >>> s
- {'t', 'C', '45', 'P', 'h', 'i', 'n', 'y', 's', 'F', 'o'}
- >>> ['add() 方法与 update() 方法不同,前者是将整个字符串当作一个元素插入集合,而后者是将字符串 分开呈一个个元素后再插入集合']
- ['add() 方法与 update() 方法不同,前者是将整个字符串当作一个元素插入集合,而后者是将字符串 分开呈一个个元素后再插入集合']
- >>> s.remove('晚买')
- Traceback (most recent call last):
- File "<pyshell#19>", line 1, in <module>
- s.remove('晚买')
- KeyError: '晚买'
- >>> s.discard('晚买')
- >>> s
- {'t', 'C', '45', 'P', 'h', 'i', 'n', 'y', 's', 'F', 'o'}
- >>> s.pop()
- 't'
- >>> s.pop()
- 'C'
- >>> s.pop()
- '45'
- >>> s.pop()
- 'P'
- >>> s
- {'h', 'i', 'n', 'y', 's', 'F', 'o'}
- >>> s.clear()
- >>> s
- set()
- >>> ['集合元素的删除,可以使用 remove() 方法和 discard() 方法,两者的区别是,如果要删除的元素原集合中没有,那么前者就会报错,而后者会静默处理; pop() 方法是随机剔除集合中的一个元素; clear() 则是将一个集合变为一个空集合']
- ['集合元素的删除,可以使用 remove() 方法和 discard() 方法,两者的区别是,如果要删除的元素原集合中没有,那么前者就会报错,而后者会静默处理; pop() 方法是随机剔除集合中的一个元素; clear() 则是将一个集合变为一个空集合']
- >>> ['通过 hash() 函数可以获得一个对象的 哈希 值']
- ['通过 hash() 函数可以获得一个对象的 哈希 值']
- >>> hash(1)
- 1
- >>> hash(1.0)
- 1
- >>> hash(1.001)
- 2305843009213441
- >>> ['整数的 哈希 值是整数,两个相同值的 哈希 值是相同的']
- ['整数的 哈希 值是整数,两个相同值的 哈希 值是相同的']
- >>> ['Python 中 大多不可变的对象都是 可哈希 的,而可变的对象都是 不可哈希 的,可哈希 就是其哈希值是不变的']
- ['Python 中 大多不可变的对象都是 可哈希 的,而可变的对象都是 不可哈希 的,可哈希 就是其哈希值是不变的']
- >>> hash('FishC')
- -5249203814098794668
- >>> hash([1,2,3])
- Traceback (most recent call last):
- File "<pyshell#37>", line 1, in <module>
- hash([1,2,3])
- TypeError: unhashable type: 'list'
- >>> ['如上所示:字符串是不可变的,其有哈希值,而列表是可变的,因此其没有哈希值']
- ['如上所示:字符串是不可变的,其有哈希值,而列表是可变的,因此其没有哈希值']
- >>> hash((1,2,3))
- 529344067295497451
- >>> {'Python':520,'FishC':1314}
- {'Python': 520, 'FishC': 1314}
- >>> {[1,2,3]:'FishC'}
- Traceback (most recent call last):
- File "<pyshell#41>", line 1, in <module>
- {[1,2,3]:'FishC'}
- TypeError: unhashable type: 'list'
- >>> ['可哈希的对象才可以作为 键,因此上述不可哈希的列表不能作为字典的键']
- ['可哈希的对象才可以作为 键,因此上述不可哈希的列表不能作为字典的键']
- >>> {'Python','FishC',520,1314}
- {520, 1314, 'FishC', 'Python'}
- >>> {'Python','FishC',520,1314,[1,2,3]}
- Traceback (most recent call last):
- File "<pyshell#44>", line 1, in <module>
- {'Python','FishC',520,1314,[1,2,3]}
- TypeError: unhashable type: 'list'
- >>> x = {1,2,3}
- >>> y = {x,4,5}
- Traceback (most recent call last):
- File "<pyshell#46>", line 1, in <module>
- y = {x,4,5}
- TypeError: unhashable type: 'set'
- >>> ['上述嵌套集合中 x 是可变的,因此不能作为 键']
- ['上述嵌套集合中 x 是可变的,因此不能作为 键']
- >>> x = frozenset(x)
- >>> y = {x,4,5}
- >>> y
- {frozenset({1, 2, 3}), 4, 5}
- >>>
复制代码 |
|