首页 > 其他分享 >数据类型之内置方法

数据类型之内置方法

时间:2022-09-30 23:34:08浏览次数:47  
标签:jason 22 之内 res 数据类型 dict user print 方法

数据类型之字典内置方法

  • 类型转换
dict()
    字典的转换一般不使用关键字,而是自己动手转
  • 字典必须要掌握的操作
user_dict = {'username':'jason',
                  'password':123,
                    'hobby':['read','music','run']}
1.按k取值(不推荐使用)
print (user_dict['username']) #jason
print ( user_dict['phone']) # k 不存在会直接报错
2.按内置方法get取值(推荐使用)
print(user_dict.get('username'))# jason
print (user_dict.get('age'))#None
print (user_dict.get('username','没有啊'))
# jason  键不存在默认返回None 可以通过第二个参数自定义

  • 修改值数据
print(id(user_dict))
user_dict['username'] = 'tony'
#键存在则修改对应的值
print (id(user_dict))
print (user_dict)
  • 新增键值对
user_dict['age'] = 18 #键不存在则新增键值对
print(user_dict)
  • 删除数据
del user_dict['username']
print(user_dict)
res = user_dict.pop('password')
print(user_dict)
print(res) # 123
  • 统计字典中键值对的个数
print(len(user_dict))  #3
  • 获取所有键,值,键值对数据
print (user_dict.keys()) # 一次性获取字典所有的键 dict_keys['usernme','password','hobby']
print (user_dict.values())  # 一次性获取字典所有的值 dict_values(['jason',123,['read','music','run']])
print (user_dict.items()) # 一次性获取字典的键值对数据 dict_items ([('username','jason'),('password',123),('hobby',['read','music','run'])])
  for i in user_dict.items()
     k, v = i 
     print(k,v)
  • 补充说明
print(dict.fromkeys(['name','pwd','hobby'],123))
# 快速生成值相同
res = dict.fromkeys(['name','pwd','hobby'],[])
print(res) # {'name':[],'pwd':[]},'hobby':[]}
res['name'].append('jason')
res['pwd'].append(123)
res['hobby'].append('study')
print(res) # {'name':[],'pwd':[],'hobby':[]}
res ['name'].append('jason')
res['pwd'].append(123)
res['hobby'].append('study')
print(res)
'''当第二个公共值是可变类型的时候,一定要注意通过任何一个键修改都会影响所有'''
res = user_dict.setdefault('username','tony')
# 键存在则不修改,结果是键对应的值
res = user_dict.setdefault('age',123)
print (user_dict,res) # 存不存在则新增键值对,结果是新增的值
  • 从取出列表最后的键值对
d ={'name':'jason','age':18,'pwd':'123'}
print(d.popitem())#也可以赋值给一个变量名,打印变量名
#打印第一次结果为('pwd':'123')
print(d.popitem())
#打印结果第二次为('age':'18')
print(d)
#此时打印字典的结果为:{‘name’:'jason'}
当没有键值对可打印时会报错

元组相关操作

  • 类型转换
tuple()
ps:支持for循环的数据类型都可以转成元组
  • 元组必须掌握的方法
t1 = (11,22,33,44,55,66)
1.索引取值
2.切片操作
3.间隔,方向
4.统计元组内数据值的个数
print(len(tl)) # 6
5.统计元组内某个数据值的出现的次数
print(tl.count(11))
6.统计元组内指定数据值的索引值
print(tl.index(22))
7.元组内如果只有一个数据值那么逗号不能少
8.元组内索引绑定的内存地址不能被修改(注意区分,可变不可变)
9.元组不能新增或删除数据

集合相关操作

  • 类型转换
set()
	集合内数据必须是不可变类型(整型 浮点型 字符串 元组)
    集合内数据是无序的,也没有索引的概念
  • 集合需要掌握的方法
去重
关系运算
ps:只有遇到上述两种需求的时候才应该考虑使用集合
  • 去重
 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)
 	'''集合的去重无法保留原先数据的排列顺序'''
  • 关系运算
群体之间做差异化校验
 	eg: 两个微信账户之间 有不同的好友 有相同的好友
 	 f1 = {'jason', 'tony', 'jerry', 'oscar'}  # 用户1的好友列表
    f2 = {'jack', 'jason', 'tom', 'tony'}  # 用户2的好友列表
    # 1.求两个人的共同好友
    # print(f1 & f2)  # {'jason', 'tony'}
    # 2.求用户1独有的好友
    # print(f1 - f2)  # {'jerry', 'oscar'}
    # 3.求两个人所有的好友
    # print(f1 | f2)  # {'jason', 'jack', 'tom', 'tony', 'oscar', 'jerry'}
    # 4.求两个人各自独有的好友
    # print(f1 ^ f2)  # {'oscar', 'tom', 'jack', 'jerry'}
    # 5.父集 子集
    print(f1 > f2)
    print(f1 < f2)

字符编码理论

该知识点理论特别多 但是结论很少 代码使用也很短
1.字符编码只针对文本数据
2.回忆计算机内部存储数据的本质
3.既然计算机内部只认识01 为什么我们却可以敲出人类各式各样的字符    
肯定存在一个数字跟字符的对应关系 存储该关系的地方称为>>>:字符编码本
 4.字符编码发展史    
 4.1.一家独大     
    计算机是由美国人发明的 为了能够让计算机识别英文    
    需要发明一个数字跟英文字母的对应关系    
    ASCII码:记录了英文字母跟数字的对应关系      
    用8bit(1字节)来表示一个英文字符               
 4.2.群雄割据       
中国人       
GBK码:记录了英文、中文与数字的对应关系 
 用至少16bit(2字节)来表示一个中文字符           
很多生僻字还需要使用更多的字节          
英文还是用8bit(1字节)来表示      
日本人        
   shift_JIS码:记录了英文、日文与数字的对应关系      
 韩国人      
    Euc_kr码:记录了英文、韩文与数字的对应关系   
        """     
        每个国家的计算机使用的都是自己定制的编码本                   不同国家的文本数据无法直接交互 会出现"乱码"  
        """   
  4.3.天下一统  
     unicode万国码          
    兼容所有国家语言字符             
    起步就是两个字节来表示字符   
    utf系列:utf8 utf16 ...      
    专门用于优化unocide存储问题        
    英文还是采用一个字节 中文三个字节

字符编码实操

1.针对乱码不要慌 切换编码慢慢试即可
2.编码与解码
	编码:将人类的字符按照指定的编码编码成计算机能够读懂的数据
        字符串.encode()
 	解码:将计算机能够读懂的数据按照指定的编码解码成人能够读懂
        bytes类型数据.decode()
3.python2与python3差异
	python2默认的编码是ASCII
		1.文件头
        	# encoding:utf8
    	2.字符串前面加u
        	u'你好啊'
 	python3默认的编码是utf系列(unicode)

标签:jason,22,之内,res,数据类型,dict,user,print,方法
From: https://www.cnblogs.com/lvqingmei/p/16746552.html

相关文章

  • 【前端必会】走进webpack生命周期,另类的学习方法
    背景webpack构建过程中的hooks都有什么呢?除了在网上看一些文章,还可以通过更直接的办法,结合官方文档快速让你进入webpack的hook世界写一个入口文件//index.jsconstwebp......
  • JdbcTemplate 常用方法
    JdbcTemplate常用方法update:实现增删改//update方法(增删改)@Overridepublicvoidadd(Usersuser){Stringsql="insertintousersval......
  • 添加汉字库(二)——汉字字模存储和提取的方法
    汉字库,新华字典也!一、引言耗了一整天宝贵时间,终于找到问题所在:是汉字取模软件的取模方式设置不对,导致显示类似乱码。如下图所示:习惯性地,我将取点方式选择了“横向取点左高位......
  • 设计模式---工厂方法模式
    简述类型:创建型目的:实现对客户端中对象的平替。我们借以下案例来说说如何使用工厂方法模式平替对象。优化案例最初版publicinterfaceOS{publicvoids......
  • 三角函数计算方法及快速查询表,做数控真是太有用了
    今天小编给大家整理了关于函数的计算方法,这应该对从事数控行业的你有所帮助,不会的赶紧学学吧。三角函数的关系(正弦)Sinθ=对边A/斜边C(余弦)Cosθ=邻边B/斜边C(......
  • Tubian系统无法打开Android子系统的解决方法
    打开Konsole,Konsole在程序菜单(左下角Logo)-系统中输入:sudonano/var/lib/waydroid/waydroid.cfg回车按方向键,把光标移动到[properties]的下一行:复制下面这两行,右击Kon......
  • 【Redis】五大常见的数据类型之 Hash
    前言我们都知道Redis提供了丰富的数据类型,常见的有五种:String(字符串),Hash(哈希),List(列表),Set(集合)、Zset(有序集合)。今天我们就来详细的聊聊Redis这五大常见的数据类型之一​......
  • Jupyter notebook导入Pycharm项目的.py文件里的模块及方法
    Jupyternotebook导入Pycharm项目种的.py文件里的模块及方法需要在Jupyternotebook里调用自己写的代码,过程如下。首先在Pycharm里写好一个文件,例如DCCACoef_Analysis.py......
  • 9、python正式篇 数据类型内置方法和字符编码
    目录一、数据类型内置方法1、字典dict内置方法1.1、类型转换2、字典必须要掌握的方法2.1、取值方式2.2、修改内部数据值2.3、删除数据2.4、统计字典中键值对个数2.5、字典......
  • VSCode C++跳转和调试方法总结
    跳转GNUGlobal标签式跳转场景:用GNUGlobal,基于标签式的跳转。插件:"C/C++GNUGlobal"插件;本地机器上的GNUGlobal软件。优缺点:基于标签式跳转,相当于纯文本模式......