Python学习笔记
数据类型
1,dic 字典
特点:无序、可变
1)定义方式:在{}内用逗号分隔的多个元素,每个元素都是key:value格式,value可以是任意类型数据,key必须是不可变类型。
dict = {1:111, 2.3:222, (1,2):333}
类型转换:
dic = dict([('name', 'egon'), ('age', 18)]) # {'name': 'egon', 'age': 18}
dic = dict(name='egon', age=18) # {'name': 'egon', 'age': 18}
2)函数操作
1、按 key 取值:可存可取
print(dic['name'])
print(dic.get('name))
2、长度 len(dic)
3、成员运算
in 和 not in
4、删除
万能删除。del()
dic.pop()
dic.popitem()
5、键keys()、值values()、键值对items()
dic.keys() # ['name', 'age']
dic.items() # [('age', 18),('name', 'egon')]
3)循环 for
for k in dic.keys()
for v in dic.values()
for k,v in dic.items()
4)生成
l = ['name', 'age', 'gender']
dic = {}.fromkeys(l,[]) # 使用l中的元素做key,[]做value
dic['age'].append(111) # 给[]中添加111,因为字典中元素指向的是同一个[],索引字段中元素都会变成[111]
print(dic) # {'name': [111], 'age': [111], 'gender': [111]}
2,集合
特点:无序、可变
1)定义方式:在{}内用逗号分隔开多个元素,集合元素的特点如下
1、集合内元素不能重复
2、集合内的元素必须是不可变类型
3、集合内的元素无序
names = ['egon','tom','jack','egon','egon','egon']
s = set(names)
# print(list(s))
2)常用操作
1、长度 len(s)
2、成员运算
in 和 not in
pythons = {'张三', '李四', '王五', '刘6', 'egon', 'lili', '李建国'}
linuxs = {'铁蛋', '铜蛋', '钢弹', 'egon', '狗蛋', 'lili'}
# 3、|合集: 求所有的同学姓名
# print(pythons | linuxs)
# print(pythons.union(linuxs))
# 4、&交集: 同时报名两门课程的同学
# print(pythons & linuxs)
# print(pythons.intersection(linuxs))
# pythons = pythons & linuxs
# pythons.intersection_update(linuxs)
# 5、-差集: 求只报名了python课程的同学
# print(pythons - linuxs)
# print(pythons.difference(linuxs))
# pythons.difference_update(linuxs)
# 6、^对称差集: 求没有同时报名两门课程的同学
# s = (pythons - linuxs) | (linuxs - pythons)
# s = pythons ^ linuxs
# print(s)
# 7、==
# s1 = {1,2,3}
# s2 = {3,1,2}
# print(s1 == s2)
# 8、父集:>=,子集:<=
# s1 = {1,2,3}
# s2 = {1,2}
# s2 = {1,2,4}
# print(s1 >= s2)
# print(s1.issuperset(s2))
# print(s2 <= s1)
# print(s2.issubset(s1))
# s = pythons.symmetric_difference(linuxs)
# print(s)
# 需要掌握
s1 = {1, 2, 3}
# s1.update({3,4,5,6})
# res = s1.pop()
# s1.remove(22222)
# print(s1)
# s1.discard(2222222)
# print(s1)
# s1.add(4)
# print(s1)
s2 = {3, 4, 5, 6}
print(s1.isdisjoint(s2))
文件处理
f = open(r'a.txt',mode='rt',encoding='utf-8')
# print(f)
data = f.read()
print(data)
# for line in f:
# print(line)
# user,pwd = line.strip('\n').split(':')
# print(user,pwd)
f.close()
print(f)
f.read()