首页 > 其他分享 >基本数据类型内置方法(二)

基本数据类型内置方法(二)

时间:2022-09-30 17:25:58浏览次数:57  
标签:内置 jason 22 数据类型 123 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('phone', '找不到我吧'))  # 键不存在默认返回None 可以通过第二个参数自定义
    
  3. 修改数据值

    user_dict['username'] = 'tony'  # 键存在则修改对应的值
    print(user_dict)  # {'username': 'tony', 'password': 123, 'hobby': ['read', 'music', 'run']}
    
  4. 新增键值对

    user_dict['age'] = 18  # 键不存在则新增键值对
    print(user_dict)  # {'username': 'jason','password': 123,'hobby': ['read', 'music', 'run'],'age':18}
    
  5. 删除数据

    方式一:del
        del user_dict['username']
        print(user_dict)  # {'password': 123,'hobby': ['read', 'music', 'run']}
    方式二:pop
        user_dict.pop('password')
        print(user_dict)  # {'username': 'jason','hobby': ['read', 'music', 'run']}
    
  6. 统计字典中键值对的个数

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

    剑客一:
    print(user_dict.keys())  # dict_keys(['username', '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'])])   一次性获取字典的键值对数据  
    
  8. 补充说明

    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': ['jason', 123, 'study'], 'pwd': ['jason', 123, 'study'], 'hobby': ['jason', 123, 'study']}
    # 当第二个公共值是可变类型的时候,一定要注意,通过任何一个键修改值都会影响所有
    
    res = user_dict.setdefault('username','tony')
    print(user_dict, res)  # tony 键存在则不修改 结果是键对应的值
    res = user_dict.setdefault('age',123)
    print(user_dict, res)  # 123 键不存在则新增键值对 结果是新增的值
    user_dict.popitem() # 随机弹出一个键值对,采用后进先出的原则
    

元组相关操作

类型转换

tuple()
支持for循环的数据类型都可以转成元组

元祖必须掌握的方法(使用方法与列表差不多)

a = (1, 2, 3, 4, 5, 6,)
  1. 索引取值

    print(a[0])  # 1
    
  2. 切片操作

    print(a[0:5])  # (1, 2, 3, 4, 5)  
    
  3. 间隔、方向

    print(a[0:5:2])  # (1, 3, 5)
    print(a[-1:-5:-1]) # (6, 5, 4, 3)
    
  4. 统计元组内数据值的个数

    print(len(a))  # 6
    
  5. 统计元组内某个数据值出现的次数

    print(a.count(5))  # 1
    
  6. 统计元组内指定数据值的索引值

    print(a.index(4))  # 3
    

注意:

元组内如果只有一个数据值那么逗号不能少

元组内索引绑定的内存地址不能被修改(注意区分 可变与不可变)

元组不能新增或删除数据

集合相关操作

类型转换

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

集合需要掌握的方法

  1. 去重
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)  # [33, 11, 22]
集合的去重无法保留原来数据的排列顺序
  1. 关系运算
群体之间的差异化校验
a1 = {1, 2, 3, 4, 5, 6, 7, 8, 9}
a2 = {5, 6, 7, 8, 9, 10, 11, 12, 13}
# 1.求两个集合之间相同的部分
print(a1 & a2)  # {5, 6, 7, 8, 9}  
# 2.求a1独有的数据
print(a1 - a2)  # {1, 2, 3, 4}
# 3.求两个集合所有的数据
print(a1 | a2)  # {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}
# 4.求两个集合各自独有的数据
print(a1 ^ a2)  # {1, 2, 3, 4, 10, 11, 12, 13}
# 5.父集与子集
就是子集的数据父集中都有,父集中的数据子集不一定有

字符编码

编码与解码

编码:将人类的字符按照指定的编码编码成计算机能够读懂的数据
        字符串.encode()
a = '一条大河波浪宽,风吹稻花香两岸'
b = a.encode()
print(b)  # b'\xe4\xb8\x80\xe6\x9d\xa1\xe5\xa4\xa7\xe6\xb2\xb3\xe6\xb3\xa2\xe6\xb5\xaa\xe5\xae\xbd\xef\xbc\x8c\xe9\xa3\x8e\xe5\x90\xb9\xe7\xa8\xbb\xe8\x8a\xb1\xe9\xa6\x99\xe4\xb8\xa4\xe5\xb2\xb8
 	解码:将计算机能够读懂的数据按照指定的编码解码成人能够读懂
        bytes类型数据.decode()
print(b.decode('utf8'))  # 一条大河波浪宽,风吹稻花香两岸 

python2与python3的差异

python2默认的编码是ASCII,不能识别汉字,因此当给我们需要在python2中做此类操作时有两种方法
第一种:添加一个文件头
就是在编码一开始的时候就说明一下  # encoding:utf8
第二种:字符串前面加u  
python3默认的编码是utf系列

标签:内置,jason,22,数据类型,123,dict,user,print,方法
From: https://www.cnblogs.com/zyg111/p/16745571.html

相关文章

  • 数据类型的常用操作和内置方法-下
    数据类型的常用操作和内置方法下字典内置方法类型转换字典的类型转换要求苛刻,一般不会使用dict([['key1',1],['key2',2]])#只能转换多元素的类型,且每个元素中还......
  • 数据内型方法与操作的补充
    目录一.字典dict的内置方法与操作1.类型转换2.字典必须掌握的操作1.按k取值(不推荐使用)2.按内置方法get取值(推荐使用)3.修改值数据4.新增键值对5.删除数据6.统计字典中键......
  • 数据类型的内置方法及字符编码理论
    数据类型的内置方法及字符编码理论一、内置方法之字典相关操作1.类型转换dict()字典的转换一般不使用关键字,而是自己动手转2.字典必须掌握的操作user_dict={......
  • 理解main方法语法
    1深入理解main方法2特别提示在main()方法中,我们可以直接调用main方法所在类的静态方法或静态属性。但是,不能直接访问该类中的非静态成员,必须创建该类的一个......
  • Andorid 11获取外部存储权限方法
    privatevoidrequestmanageexternalstorage_Permission(){if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.R){//先判断有没有权限......
  • git子模块submodule使用方法
    背景:由于之前写了个Django+vue的前后端分离项目,写完后想上传到github时,发现整个工程上传后,vue的项目并没有上传,只上传了个空文件夹。原因是因为vue项目自带git仓库,上传工程......
  • 数据类型之内置方法2
    目录字典相关操作元祖相关操作集合相关操作字符编码理论字符编码实操字典相关操作元祖相关操作集合相关操作字符编码理论字符编码实操......
  • 删除数据库表中重复数据的方法
    一直使用Postgresql数据库,有一张表是这样的:DROPTABLEIFEXISTS"public"."devicedata";CREATETABLE"public"."devicedata"("Id"varchar(200)COLLATE"pg_catal......
  • android开发ndk编译出现"undefined reference to xxx"解决方法
    出现这个问题的原因对应.c或者.cpp的实现有问题,包括无法链接so库、或者是.c或.cpp没有编译成功、或者是.c或.cpp编译成功了但是实现是有问题的。首先我们明确了出现......
  • python -m pip install --upgrade pip报No module named pip解决方法
    解决方法:1、 python-mensurepip2、 python-mpipinstall--upgradepip注意:添加pip环境变量在python安装目录下搜索pip3或者pip的文件所在目录,复制环境变量中......