首页 > 编程语言 >进入python的世界_day8_python基础——字典、元组、合集的内置方法、编码的介绍

进入python的世界_day8_python基础——字典、元组、合集的内置方法、编码的介绍

时间:2022-09-30 17:59:27浏览次数:61  
标签:编码 name day8 city python tt 元组 print 字典

写在开头,昨天学了一些数据类型的内置使用方法,比如整形、浮点型、字符串、列表,今天学字典、元组、集合的常用内置方法,布尔值是没有所谓的内置方法的,还学了字符编码

一、字典内置方法的操作

  • 先来个混序大杂烩,看能不能一眼就认出这些单词的意思:

    len、key、pop、del、get、dict、values....

  1. 类型转换

     .dict() 基本用不上,太苛刻,经常是不转还方便写
    
  2. 取值

     .get( K ) 记这个方法,K存不存在都可以运行,可以很好的取字典的值,如果用老的索引按K取值如果K不存在就会报错!!!
    
    tt = {'name':'nike', 'city':'shangsha'
    print(tt.get('name', '找不到输入的参数'))     
    >>>
    nike
    
  3. 取不到送给你

    	.get( K, D) 如果K这个索引找不到,程序会把D还给你,相当于给一个反馈
    
    tt = {'name':'nike', 'city':'shangsha', 'hobby':'dance'}
    print(tt.get('age', '找不到输入的参数'))
    >>>
    找不到输入的参数
    
  4. 修改键值对

    	[K]= '新的数据值' 如果K存在,那就改这个存在的K如果K不存在,那就添加一个键值对到字典里面去
    


py ​ tt = {'name':'nike', 'city':'shangsha', 'hobby':'dance'} ​ tt['hobby'] = 'music' ​ print(tt) ​ >>> ​ {'name': 'nike', 'city': 'shangsha', 'hobby': 'music'} ​ ________________________________ ​ tt = {'name':'nike', 'city':'shangsha', 'hobby':'dance'} ​ tt['age'] = '99' ​ print(tt) ​ >>> ​ {'name': 'nike', 'city': 'shangsha', 'hobby': 'dance', 'age': '99'} ​

  1. 删除

        	1.del空格字典[K] 删除
        	
        	tt = {'name':'nike', 'city':'shangsha', 'hobby':'dance'}  
        	del tt['city']                                            
        	print(tt)               
        	————————————————————————————————————
        	2..pop() 同理,干掉括号内的K键带的数据值,可以复制给其他变量名再次使用    popitem() 随机弹出一个键值对
    
  2. 统计键值对的个数
    len()

  3. 三兄弟
    keys() >>>拿字典所有的键出来 values() >>>拿字典所有的值出来

    items() >>>一次性获取字典的键值对数据,封装成列表套元组 支持for循环

    tt = {'name':'nike', 'city':'shangsha', 'hobby':'dance'}     
    print(tt.keys())  
    >>>
    dict_keys(['name', 'city', 'hobby'])   
    ________________________________
    print(tt.values())  
    >>>
    dict_values(['nike', 'shangsha', 'dance']) 
    ————————————————————————————————
    for k, v in tt.items():      
        print(k, v)       
    >>>
    name nike
    city shangsha
    hobby dance
    

    8.快速生成键值对的字典 还没搞懂,过会再结合视频研究

     fromkeys
    

    9.修改字典
    setdefault() # 键存在不修改而是返回该键对应的值 不存在则创建

二、元组内置方法的操作

  1. 回忆一下定义:

     和列表长的很像,但是用()扩起来,内部存放多个元素 元素与元素逗号隔开,元素可以是任意数据 但是元组内元素不支持‘修改’(索引指向的元素的内存地址不能改变)
    
  2. 类型转换

     能够支持for循环的数据都可以转换成元组
    

    !!!注意:元组内哪怕就算只有一个元素 也需要加上逗号

        例:print(type((111,))) 正确识别为tuple
    
  3. 索引切片就不细讲了,和字符串一样的用法

  4. 统计元素个数也是一样,len()

  5. 统计元组内某个数据值出现的次数一样,.count()

  6. 拿元素出来

 t = (111, 222, 333, 444, 555)      
 for i in t:                        
     print(i) 
 >>>
 
 111
 222
 333
 444
 555
                                    

三、集合内置方法的操作

  1. 定义回顾

     定义:用大括号括起来 内存可以存放多个元素 元素与元素之间逗号隔开       元素不是K:V键值对  ,内部元素没有顺序一说
    
  2. 类型转换

     .set()   内部的数据值必须是不可变的类型,不然没法转
    
 q = (111, 223, 2225, 65554)      
 res = set(q)                     
 print(res, type(res))            
 >>>
 {2225, 223, 65554, 111} <class 'set'>
  1. 去重(自带去重功能)
 首先集合是自带去重优化的
 t = {1, 2, 3, 1, 1, 3, 2, 3, 2}
 print(t)
 >>>
 {1, 2, 3}
 ____________
 可以根据这个性质,给别的类型的数据去重
 l1 = [11, 33, 44, 55, 11, 44, 44, 55, 33]              
 s1 = set(l1)       # 转换这个列表为一个合集并赋值给一个变量           
 l1 = list(s1)      # 又转回去                                   
 print(l1)  
 >>>
 [33, 11, 44, 55]     # 注意,是无序的,可以用方法调整 加上l1.sort() >>>
 [11, 33, 44, 55]
 

四、集合关系运算

1.求两个用户的共同好友
print(friends1 & friends2) 
>>> {'jason', 'eg'}
_______________________
2.求两个用户所有的好友
print(friends1 | friends2)
>>>
{'kevin', 'ricky', 'jason', 'zero', 'Jy', 'eg'}
_______________________
3.求用户1独有的好友
print(friends1 - friends2) 
>>>
{'zero', 'kevin'}
_______________________
4.求用户2独有的好友
print(friends2 - friends1)
>>>
{'ricky', 'Jy'}
_______________________
5.求用户1和用户2各自的好友
# print(friends1 ^ friends2)
>>>
{'Jy', 'zero', 'kevin', 'ricky'}
________________________
6.父集与子集
s1 = {11, 22, 33, 44}
s2 = {11, 33}
print(s1 > s2)  判断s1是否是s2的父集
>>>
True
print(s2 < s1)   判断s2是否是s1的子集
>>>
True

五、字符编码

  1. 什么是字符编码

     由于计算机内部只识别二进制 但是用户在使用计算机的时候却可以看到各式各样的语言字符
     字符编码:内部记录了人类字符与数字对应关系的数据(有点类似超市打价员拿的那个本子,输入啥编码就打出啥东西的价码)
    

    2.编码发展史 一家独大>>>群雄逐鹿>>>天下一统

  • 计算机最初是由美国人发明的 美国人为了能够让计算机识别英文字符
    ASCII码:里面记录了英文字符与数字的对应关系

  • 中国人:为了能够让计算机识别中文 我们需要发明另外一套编码表

        				GBK码:记录了英文中文与数字的对应关系,对于英文一个字节
      
        	      	      	      								对应中文使用两个字节甚至更多字节
      
          	        	        	        					  	两个字节其实也不够表示出所有的中文
      
               	             	             	             				遇到生僻字可能需要更多位来表示
    
  • 日本人: 为了能够让计算机识别日文 也需要发明一套编码表

         				shift_JIS码:记录了日文英文与数字的对应关系
    
  • 韩国人:为了能够让计算机识别韩文 也需要发明一套编码表

      			      Euc_kr码:记录了韩文英文与数字的对应关系
    
  • 为了能够实现不同国家之间的文本数据能够彼此无障碍交流需要对编码统一

                  unicode(万国码)
    

    统一使用两个及以上字符记录字符与数字的对应关系

    utf8(万国码的优化版本)

    将英文还是用一个字节存储

    将中文使用三个字节或更多字节存储

3.编码与解码

编码

将人类能够读懂的字符安装指定的编码转换成数字

解码

将数字按照指定的编码转换成人类能够读懂的字符

六、作业

1.优化员工管理系统
拔高: 是否可以换成字典或者数据的嵌套使用完成更加完善的员工管理而不是简简单单的一个用户名(能写就写不会没有关系)
2.去重下列列表并保留数据值原来的顺序
eg: [1,2,3,2,1] 去重之后 [1,2,3]
l1 = [2,3,2,1,2,3,2,3,4,3,4,3,2,3,5,6,5]
3.有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合
  pythons={'jason','oscar','kevin','ricky','gangdan','biubiu'}
  linuxs={'kermit','tony','gangdan'}

  1. 求出即报名python又报名linux课程的学员名字集合
  2. 求出所有报名的学生名字集合
  3. 求出只报名python课程的学员名字
  4. 求出没有同时这两门课程的学员名字集合
4.统计列表中每个数据值出现的次数并组织成字典战士
eg: l1 = ['jason','jason','kevin','oscar']
结果:{'jason':2,'kevin':1,'oscar':1}
真实数据

l1 = ['jason','jason','kevin','oscar','kevin','tony','kevin']

5.利用节假日查缺补漏

标签:编码,name,day8,city,python,tt,元组,print,字典
From: https://www.cnblogs.com/wznn125ml/p/16744904.html

相关文章

  • python学习之数据内置
    今日分享字典相关操作元组相关操作集合相关操作字符编码(理论)字典相关操作1.类型转换 dict() 字典的转换一般不使用关键字而是靠自己手动转2.必须要学的......
  • Python 空间分析简介
    Python空间分析简介ImageSource:关注涉及任何类型的特定地理区域或位置信息的数据称为“空间”数据(或“地理空间”数据)。地理空间数据有助于理解地理属性和任何其他......
  • Python 缩进:有那么糟糕吗?
    Python缩进:有那么糟糕吗?它是否使Python的语法变得困难并且容易出错?Withorwithoutindentation,asinvisualorderorvisualclutter?Photoby里克·梅森on......
  • Python 时间转化
    1、字符串转datetimefromdatetimeimportdatetime,timedeltatime_a=datetime.strptime('2022-09-0320:31:10',"%Y-%m-%d%H:%M:%S")2、datetime转字符串str_......
  • 使用 Python 分析财务报表
    使用Python分析财务报表首先,什么是财务报表?财务报表是传达有关公司当前业务活动及其过去和现在财务业绩的信息的书面记录。分析财务报表、公司的资产负债表、损益表或......
  • 数据类型内置方法下 字典、元组、集合、字符编码理论
    +数据类型内置方法下字典、元组、集合、字符编码理论目录§一、字典的内置方法1、字典的类型转换dict()2、字典相关操作1.按key取值(不推荐使用)2.按内置方法get取值(推荐使......
  • Python dataframe 处理记录
    1、分组求和importpandasaspdfromdatetimeimportdatetime,timedeltadata=pd.DataFrame({"company":["A","A","A","A","A","A","A","A","A......
  • 使用 Python 进行超参数调优:第 2 部分
    使用Python进行超参数调优:第2部分执行部分!Photoby安德里克·兰菲尔德on不飞溅在里面第一部分在本系列博文中,我们讨论了很多与您在进行超参数调优实验之前......
  • 9月30日内容总结——数据类型内置方法剩余部分(字典、元组、集合)、字符编码的概念及使
    目录一、字典的内置方法1、类型转换(把其他类型转换成自己的类型)2、取值3、修改数据值4、增加数据值5、删除数据值1.del方法2.pop方法6、统计字典中键值对的个数7、字典三......
  • 字典,元组,集合的内置方法
    今日内容字典的相关操作内置方法1.类型转换 关键字dict() 字典使用转换太麻烦了,所以一般不推荐使用,建议手动转2.字典必须掌握的操作#这是按k取值不推荐 u......