首页 > 其他分享 >数据类型的内置方法及字符编码理论

数据类型的内置方法及字符编码理论

时间:2022-09-30 17:11:07浏览次数:44  
标签:编码 内置 字符 33 数据类型 dict user l1 print

数据类型的内置方法及字符编码理论

一、内置方法之字典相关操作

1.类型转换

dict()
字典的转换一般不使用关键字,而是自己动手转

2.字典必须掌握的操作

user_dict = {
    'username': 'jason',
    'password': 123,
    'hobby': ['read', 'music', 'run']
}
  • 按k取值(不推荐)

    print(user_dict['username'])   # jason
    print(user_dict['phone'])      # k不存在会报错
    
  • 按内置方法get取值(推荐)

    print(user_dict.get('username'))   # jason
    print(user_dict.get('age'))   # None
    print(user_dict.get('age', '没有嘿嘿嘿'))  # 键不存在默认返回None 可以通过第二个数自定义
    
  • 修改值数据

    user_dict['usernam'] = 'tony'   # 键存在则修改对应的值
    print(user_dict)
    print(id(user_dict))   
    
  • 新增键值对

    user_dict['age'] = 18
    print(user_dict)     # 键不存在时新增键值对
    
  • 删除数据

    del user_dict['username']
    print(user_dict)
    
  • 统计字典中键值对的个数

    print(len(user_dict))  # 3
    
  • 字典三剑客

    print(user_dict.keys())   # 一次性获取字典所有的键
    print(user_dict.values())  # 一次性获取字典所有的值
    print(user_dict.items())   # 一次性获取字典的键值对数据
    for i in user_dict.items():
        k, v = i
        print(i)
    
  • 补充说明

    print(dict.fromkeys(['name','pwd','hobby'],123))  # 快速生成值相同的字典
    eg:
        res = dict.fromkeys(['name', 'pwd', 'hobby'], [])
        print(res)    # {'name': [], 'pwd': [], 'hobby': []}
    eg:
        res['name'].append('jason')
        res['pwd'].append(123)
        res['hobby'].append('study')
        print(res)
    eg: # 键存在则不修改 结果是键对应的值
        res = user_dict.setdefault('username','tony')
    	print(user_dict, res)     
        # jason', 'password': 123, 'hobby': ['read', 'music', 'run']} jason
    eg: # 存不存在则新增键值对 结果是新增的值
        res = user_dict.setdefault('age',123)
    	print(user_dict, res)  
        # jason', 'password': 123, 'hobby': ['read', 'music', 'run'], 'age': 123} 123
    

二、内置方法之元组相关操作

1.类型转换

tuple()
支持for循环的数据类型都可以转换为元组
print(tuple(22.2))             # 报错
print(tuple[11, 22, 33, 33])   # (11, 22, 33, 33)
print(tuple({123, 333, 444}))  # (123, 444, 333)

2.元组必须掌握的方法

l1 = (11, 22, 33, 44, 55, 66)
1.索引取值
 print(l1[2])   # 33
2.切片
 print(l1[2:4])  # (33, 44)
3.间隔,步长
 print(l1[0:5:2])  # (11, 33, 55)
4.统计元组内某个数据值出现的个数
 print(len(l1))    # 6
5.统计元组内某个数据值出现的次数
 print(l1.count(22))    # 1
6.统计元组内指定数据值的索引值
 print(l1.index(22))  # 1
7.元组内如果只有一个数据值那么逗号不能少
8.元组内索引绑定的内存地址不能被修改(可变数据类型内存地址不变的)
  可变数据类型有:集合,列表,字典
9.元组不能新增或者删除数据

三、内置方法之集合相关操作

1.类型转换

set()
集合内的数据必须是不可变类型(整型,浮点型,字符串,元组)
集合内数据是无序的 没有索引的概念

2.集合需要掌握的方法

只有遇到去重和关系运算这两种需求的时候才应该考虑使用集合

  • 去重

    去除集合内重复的数据值
    eg:
        l2 = {11, 33, 44, 88, 99}
        l1 = set(l2)
        l2 = list(l1)
        print(l2)      # [33, 99, 88, 11, 44]
    
  • 关系运算

    &    共同的部分
    -    独有的部分
    |    全部的部分(和)
    ^    独有部分的和
    eg:
     l1 = {11, 22, 33, 44, 55, 66} 
     l2 = {11, 33, 44, 88, 99}
      print(l1 & l2)  # 两个共同的数字
      print(l1 - l2)  # l1独有的数字
      print(l1 | l2)  # 两个共同的数字
      print(l1 ^ l2)  # 两个各自独有的数字
    

四 、字符编码理论

1.字符编码只针对文本数据
2.计算机存储数据的本质是二进制,因为计算机只认识0和1,在和计算机交互的时候,用的是我们能够读懂的语言
3.字符编码的发展史:
  (1).一家独大
      计算机是美国人发明的,由于计算机值认识0和1,于是定义了字符编码,但是只记录了英文字符与数字之间的对应关系,于是有了ASCII码,内部只记录英文字符和数字之间的对应关系
  (2).群雄割据
       越来越多国家使用计算机之后,各个国家都开发了属于自己国家的字符编码
    中国:GBK编码,内部记录了中文字符,英文字符,和数字之间的对应关系,2bytes起步存储中文
    韩国:Euc_kr码,内部记录了韩文字符、英文字符与数字之间的对应关系。
    日本:shift_JTS码,内部记录了日文字符、英文字符与数字之间的对应关系。
  (3).万国码:unicode,兼容各个国家的字符。原有的字符全部使用2bytes起步存储。
UTF家族,是针对unicode的优化版本,常用的是utf-8。英文1bytes存储,其它统一3bytes存储字符。
内存使用的是Unicode,硬盘使用utf8。
4.编码与解码
  编码:将人类可以读懂的字符按照指定的编码形式转换成计算机能够读懂的语言(数字)。简记:人类的字符转换成计算机的字符。关键字:encode.
   解码:将计算机能够读懂的语言按照指定的编码形式转换为人可以独懂得字符,关键字:decode

img

标签:编码,内置,字符,33,数据类型,dict,user,l1,print
From: https://www.cnblogs.com/zx0524/p/16745535.html

相关文章

  • 信息论与编码(二)| 自信息与信息熵
    自信息信息量如何考察或计算信源输出的消息(或者符号)的信息量?信源的信息实质:不确定性(信源输出的是消息,消息的内涵是信息。信源输出一个符号,我们认为发生一个事件)。数学上......
  • 信息论与编码(三)| 联合熵和条件熵
    联合熵和条件熵联合熵联合集XY上,对联合自信息的平均值称为联合熵:当有n个随机变量,有信息熵与热熵的关系信息熵的概念是借助于热熵的概念而产生的。1.信息......
  • 数据类型之内置方法2
    目录字典相关操作元祖相关操作集合相关操作字符编码理论字符编码实操字典相关操作元祖相关操作集合相关操作字符编码理论字符编码实操......
  • 【C语言基础】C语言数据类型及数据对齐
    前言code#include<stdio.h>#include<stdlib.h>#defineSize5typedefstructTable{charlength;charsize;charss;intlen;}table;tabl......
  • 工业互联网平台的数据类型及特点是什么?
    工业互联网产业联盟(AII)对工业互联网是这样定义的,分为宏观层面和技术层面:•从宏观层面看,工业互联网通过工业经济全要素、全产业链、全价值链的全面连接,支撑制造业数字化、......
  • 【尚硅谷】Vue2.x组件化编码学习笔记--渐进式的JS框架
    Vue组件化编码​​一、使用Vue-cli创建项目​​​​1.1说明​​​​1.2创建Vue项目​​​​1.2.1如何修改端口以及自动运行​​​​1.3Vue-cli创建的项目的目录结构​​......
  • C# Unicode编码解码
    Unicode是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的......
  • 编码技巧 6
    编码技巧6不确定您是否会使用它,但以防万一您遇到想要借助脚本检查特定字段的依赖字段的情况,您可以使用以下脚本:vargtd=newGlideTableDescriptor('事件');vared=......
  • one-hot编码
    优点:(1)解决了分类器不好处理离散数据的问题。a.欧式空间。在回归,分类,聚类等机器学习算法中,特征之间距离计算或相似度计算是非常重要的,而我们常用的距离或相似度的......
  • 数据类型扩展及面试题
    数据类型强类型语言要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用注:String=''字符串''(英文或中文)弱类型语言变量的使用不需要严格符合规定......