Python学习笔记(六):字典、集合、文件处理

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()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值