
今日分享
- 字典相关操作
- 元组相关操作
- 集合相关操作
- 字符编码(理论)
字典相关操作
| 1.类型转换 |
| dict() |
| 字典的转换一般不使用关键字 而是靠自己手动转 |
| 2.必须要学的操作 |
| u_dict = { |
| 'name':'wei', |
| 'password':3472, |
| 'hobby':['baskertball','swimming'] |
| } |
| 2.1.按k取值(不推荐使用) |
| print(u_dict['username']) |
| print(u_dict['phone']) |
| 2.2 按内置方法get取值(推荐使用) |
| print(u_dict.get('username')) |
| print(u_dict.get('age')) |
| print(u_dict.get('name', '没有哟 嘿嘿嘿')) |
| |
| print(u_dict.get('phone', '没有哟 嘿嘿嘿')) |
| |
| 2.3 修改数据值 |
| print(id(u_dict)) |
| u_dict['name'] = 'tony' |
| print(id(u_dict)) |
| print(u_dict) |
| |
| 2.4 新增键对值 |
| u_dict['age'] = 18 |
| print(u_dict) |
| 2.5 删除数据 |
| del u_dict['name'] |
| print(u_dict) |
| |
| res = u_dict.pop('password') |
| print(u_dict) |
| print(res) |
| 2.6 统计字典中键值对的个数 |
| print(len(u_dict)) |
| 2.7 字典三剑客 |
| print(u_dict.keys()) |
| |
| print(u_dict.values()) |
| |
| print(u_dict.items()) |
| |
| for i in u_dict.items(): |
| k,v = i |
| print(k, v) |
| 2.8 补充 |
| print(dict.fromkeys(['name', 'pwd', 'hobby'], 123)) |
| |
| |
| res = dict.fromkeys(['name', 'pwd', 'hobby'], []) |
| print(res) |
| res['name'].append('jason') |
| res['pwd'].append(123) |
| res['hobby'].append('study') |
| print(res) |
| '''当第二个公共值是可变类型的时候 一定要注意 通过任何一个键修改都会影响所有''' |
| |
| |
| |
| |
| user_dict.popitem() |
元组相关的操作
| 1.类型转换 |
| tuple() |
| ps:支持for循环的数据类型都可以转成元组 |
| 2.元组必须掌握的方法 |
| t1 = (11, 22, 33, 44, 55, 66) |
| |
| print(t1[0]) |
| |
| print(t1[:]) |
| print(t1[0:4]) |
| print(t1[:-4]) |
| |
| print(t1[0:6:2]) |
| print(t1[::-2]) |
| |
| print(len(t1)) |
| |
| print(t1.count(11)) |
| |
| print(t1.index(22)) |
| |
| |
| |
集合相关操作
| 1.类型转换 |
| set() |
| 集合内数据必须是不可变类型(整型 浮点型 字符串 元组) |
| 集合内数据也是无序的 没有索引的概念 |
| 2.集合需要掌握的方法 |
| 去重 |
| 关系运算 |
| ps:只有遇到上述两种需求的时候才应该考虑使用集合 |
| 3.去重 |
| s1 = {11, 22, 11, 22, 22, 11, 222, 11, 22, 33, 22} |
| l1 = [11, 22, 33, 22, 11, 22, 33, 22, 11, 22, 33, 22] |
| s1 = set(l1) |
| l1 = list(s1) |
| print(l1) |
| '''集合的去重无法保留原先数据的排列顺序''' |
| 4.关系运算 |
| 群体之间做差异化校验 |
| 两个微信账户之间 有不同的好友 有相同的好友 |
| f1 = {'jason', 'tony', 'jerry', 'oscar'} |
| f2 = {'jack', 'jason', 'tom', 'tony'} |
| |
| print(f1 & f2) |
| |
| print(f1 - f2) |
| |
| print(f1 | f2) |
| |
| print(f1 ^ f2) |
| |
| print(f1 > f2) |
| print(f1 < f2) |
字符编码理论
| 1.针对乱码不要慌 切换编码慢慢试即可 |
| 2.编码与解码 |
| 编码:将人类的字符按照指定的编码编码成计算机能够读懂的数据 |
| 字符串.encode() |
| 解码:将计算机能够读懂的数据按照指定的编码解码成人能够读懂 |
| bytes类型数据.decode() |
| 3.python2与python3差异 |
| python2默认的编码是ASCII |
| 1.文件头 |
| |
| 2.字符串前面加u |
| u'你好啊' |
| python3默认的编码是utf系列(unicode) |
作业
| 2.去重下列列表并保留数据值原来的顺序 |
| |
| |
| |
| l1 = [2, 3, 2, 1, 2, 3, 2, 3, 4, 3, 4, 3, 2, 3, 5, 6, 5] |
| l2 = [] |
| for l3 in l1: |
| if l3 not in l2: |
| l2.append(l3) |
| print(l2) |
| |
| |
| |
| |
| pythons = {'jason', 'oscar', 'kevin', 'ricky', 'gangdan', 'biubiu'} |
| linuxs = {'kermit', 'tony', 'gangdan'} |
| |
| print(pythons & linuxs) |
| |
| print(pythons | linuxs) |
| |
| print(pythons - linuxs) |
| |
| print(pythons ^ linuxs) |
| |
| |
| |
| |
| |
| |
| |
| l1 = ['jason', 'jason', 'kevin', 'oscar', 'kevin', 'tony', 'kevin'] |
| d4 = {} |
| l2 = tuple(l1) |
| for l3 in l2: |
| d4[l3] = l2.count(l3) |
| print(d4) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构