1.set,集合:
hash table:无序、无重复元素
2.定义set:
s = {1,1,2,5,8,4,9,6,1}
s = {} #注意,这样定义是一个错误的集合,这是一个dict
set(可迭代对象)
set是无序的!!所以为没有下标
set无法使用while循环遍历,因为没有下标,所以只能使用for循环迭代遍历
3.set常见的方法:
'add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', ' intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update'
3.1 常见的以下几种:
1.add(新元素)
2.clear()
3.clear()
4.copy()
5. discard () 不会抛出错误
6.remove() 会抛出错误
5、6都是移除一个元素,对此进行对比,移除一个元素的区别
7.update() 合并两个集合
8.union() 并集
9. difference() 差集
10.intersection() 交集
11.pop() 弹出任意元素
4.tuple,元组
一组不变的数据、不可变的数据类型
()因为不可变的数据,所以在创建之初,一定要将值确定下来
tuple()元组是有序的,所以可以使用下标来访问元素,但要注意,不能修改元素
4.1常见方法:
1.index() -------获取索引位置
2.count() -------统计元素出现的个数
5.dict,字典
5.1底层也是hash table
面试题:s = (1) #s是什么类型?
答:s 是int型
s = (1, )
答:s 是元组
5.2常见的方法:
特点:唯一性,不可变性
什么类型可以作为字典:字符型,数字型,元组
clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values'
get:
items
keys
pop
popitem ---弹出后添加的元素
元组:
>>> s = (1,2,3,4,7,5,4,5,)
>>> type(s)
<class 'tuple'>
列表
>>> s = [1, 2 ,5, 7,]
>>> type(s)
<class 'list'>
字典
>>> d = {"name":"zbn", "age":18, "address":"xian"}
>>> type(d)
<class 'dict'>
get方法
{'name': 'zbn', 'age': 18, 'address': 'xian'}
>>> d.get("name")
'zbn'
pop方法
>>> d.pop("age")
18
>>> d
{'name': 'zbn', 'address': 'xian'}
popitem方法
>>> d.popitem()
('address', 'xian')
>>> d
{'name': 'zbn'}
添加元素
>>> d
{'name': 'zbn'}
>>> d["emali"]=123
>>> d
{'name': 'zbn', 'tel': 123, 'emali': 123}
keys方法
>>> d.keys()
dict_keys(['name', 'tel', 'emali'])
values方法
>>> d.values()
dict_values(['zbn', 123, 123])
items方法
>>> d.items()
dict_items([('name', 'zbn'), ('tel', 123), ('emali', 123)])
>>> for i in d.keys():
... print(i, d[key])
...
name zbn
tel zbn
emali zbn
>>> for (keys,values) in d.items():
... print(keys, values)
...
name zbn
tel 123
emali 123
>>> dir(d)
['__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__ior__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__ror__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']