字典型
其中value可以是任意类型,而key必须是不可变类型,通常是字符串类型
dic = {
'name': 'xxx',
'age': 18,
'hobbies': ['play game', 'basketball']
}
3.1按key存取值:可存可取
print(dic['name'])
print(dic['hobbies'][1])
3.2对于赋值操作,如果key原先不存在于字典,则会新增key:value
dic['killboss'] = 5
{'name': 'tony', 'age': 18, 'hobbies': ['play game', 'basketball'],'killboss':5}
3.3对于赋值操作,如果key原先存在于字典,则会修改对应value的值
dic['name']='dijia'
{'name': 'dijia', 'age': 18, 'hobbies': ['play game', 'basketball']}
3.4get() 推荐用get
dic.get('name')
res=dic.get('xxx')
print(res)
res=dic.get('xxx',666)
长度len
print(len(dic))
成员运算 in 和not in
print('name' in dic)
删除
pop()
print(dic.pop('name'))
popitem()
item =dic.popitem()
print(dic)
print(item)
随机删除一组键值对,并将删除的键值放到元组内返回
键keys(),值values(),键值对items()
dic.keys()
dic.values()
dic.items()
循环 默认遍历的是字典的key
for key in dic:
print(key)
只遍历key
for key in dic.keys():
只遍历value
for key in dic.vallues():
遍历key与value
for key in dic.items():
update()
把一个新的字典加到旧的里面旧的item不删除
fromkeys()
给一个字典多个key加同一个value
setdefault()
dic={'k1':111,'k2':222}
》key不存在则新增键值对,并将新增的value返回
res=dic.setdefault('k3',333)
》key存在则不做任何修改,并返回已存在key对应的value值
res=dic.setdefault('k1',666)
集合
定义:在{}内用逗号分隔开多个元素,集合具备以下三个特点:
1:每个元素必须是不可变类型
2:集合内没有重复的元素
3:集合内元素无序
s = {1,2,3,4}
注意1:列表类型是索引对应值,字典是key对应值,均可以取得单个指定的值,而集合类型既没有索引也没有key与值对应,所以无法取得单个的值,而且对于集合来说,主要用于去重与关系元素,根本没有取出单个指定值这种需求。
注意2:{}既可以用于定义dict,也可以用于定义集合,但是字典内的元素必须是key:value的格式,现在我们想定义一个空字典和空集合,该如何准确去定义两者?
d = {}
s = set()
但凡能被for循环的遍历的数据类型(强调:遍历出的每一个值都必须为不可变类型)都可以传给set()转换成集合类型
类型转换
ultraman = {"迪迦","贝吉塔","特兰克斯","泰罗"}
monster = {"特兰克斯","贝吉塔","孙悟饭","克林"}
3.1合集/并集(|):求两个用户所有的好友(重复好友只留一个)
print(ultraman | monster)
3.2交集(&):求两个用户的共同好友
print(ultraman & monster)
3.3差集(-):
print(ultraman - monster)
print(monster - ultraman)
3.4对称差集(^)
print(monster ^ ultraman)
3.5值是否相等(==)
print(monster == ultraman)
3.6父集:一个集合是否包含另外一个集合
3.6.1包含则返回True
{1,2} < {1,2,3}
3.6.2不存在包含关系,则返回False
{1,2,3} > {1,3,4,5}
3.7子集
s1 = {1,2,3,5}
s2 = {3,1,2,6}
print(s2.issubset(s1))
文件处理
"""
1 什么是文件
文件是操作系统提供给应用程序或者说用户的一种操作硬盘功能
应用程序----------》
操作系统---------》文件
计算机硬件-------》硬盘
2 为何要处理文件
为了操作硬盘
3 如何处理文件
"""
f = open(r'a.txt',mode='rt',encoding='utf-8')
data = f.read()
print(data)
f.close()
print(f)
f.read()