首页 > 编程语言 >python数据类型·内置方法2

python数据类型·内置方法2

时间:2022-09-30 18:23:37浏览次数:49  
标签:内置 22 python res 数据类型 元组 dict user print

今日内容概要

  • 字典相关操作
  • 元组相关操作
  • 集合相关操作
  • 字符编码(理论)

字典相关操作

1.类型转换
	dict()
    字典的转换一般不使用关键字 而是自己动手转
2.字典必须要掌握
	user_dict = {
    'username': 'guts',
    'password': 123,
    'hobby': ['sing', 'jump', 'basketball']    
    }
    1.按k取值(不推荐使用)
    print(user_dict['username'])  # guts
    print(user_dict['phone'])  # k不存在会直接报错
    2.按内置方法get取值(推荐使用)
    print(user_dict.get('username'))  # guts
    print(user_dict.get('age'))  # None
    print(user_dict.get('username', '没有 给爷爬'))  # guts  键存在的情况下获取对应的值
    print(user_dict.get('phone', '没有 快爬'))  # 没有 快爬    键不存在默认返回None 可以通过第二个参数自定义
    3.修改值的数据
    print(id(user_dict))
    user_dict['username'] = 'tony'  # 键存在则修改对应的值
    print(id(user_dict))
    print(user_dict)
    4.新增键值对
    user_dict['age'] = 18  # 键不存在则新增键值对
    print(user_dict)
    5.删除数据
    del user_dict['username']
    print(user_dict)
    res = user_dict.pop('password')
    print(res)  # 123
    6.统计字典中键值对的个数
    print(len(user_dict))  # 3
    7.字典中的三剑客
    print(user_dict.key())  # 一次性获取字典中所有的键 dict_keys(['username', 'password', 'hobby'])
    print(user_dict.values())  # 一次性获取字典中所有的值 dict_values(['jason', 123, ['read', 'music', 'run']])
    print(user_dict.iteam())  # 一次性获取字典的键值对数据dict_items([('username', 'jason'), ('password', 123), ('hobby', ['read', 'music', 'run'])])
    for i in user_dict.items:
    	k, v = i
    	print(k, v)
    8.补充说明
    print(dict.fromkeys(['name','pwd','hobby',123]))  #快速生成值相同的字典
    res = dict.fromkeys(['name','pwd','hobby'],[])
    print(res)  # {'name': [], 'pwd': [], 'hobby': []}
    res['name'].append('guts')
    res['pwd'].append(123)
    res['hobby'].append('study')
    print(res)  # {'name': ['guts', 123, 'study'], 'pwd': ['guts', 123, 'study'], 'hobby': ['guts', 123, 'study']}
    '''当第二个公共值是可变类型的时候 一定要注意 通过任何一个键修改都会影响所有'''
    res = user_dict.setdefault('username','tony')
    print(user_dict,res)  # 键存在则不修改 结果是键对应的值
    res = user_dict.setdefault('age',123)
    print(user_dict, res) # 存不存在则新增键值对 结果是新增的值
    user_dict.popitem()  # 弹出键值对 后进先出
   

元组相关操作

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

集合相关操作

	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 = ste(l1)
        l1 = list(s1)
        print(l1)  # [33, 11, 22]
        '''集合的去重无法保留原先数据的排列顺序'''
    4.关系运算
    	群体之间做差异化校验
        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)

作业

# 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]
l1 = [2, 3, 2, 1, 2, 3, 2, 3, 4, 3, 4, 3, 2, 3, 5, 6, 5]
l2 = []  # 1.创建一个空列表
for i in l1:  # 2.遍历列表l1
    if i in l2:  # 3.判断i是否存在于l2
        continue    # 4.如果存在 回到判断处遍历下一个数
    else:
        l2.append(i)    # 5.如果不存在 就把i加入l2
print(l2)

image

标签:内置,22,python,res,数据类型,元组,dict,user,print
From: https://www.cnblogs.com/DragonY/p/16745799.html

相关文章

  • 数据类型内置方法
    数据类型内置方法(二)数据类型内置方法之字典1.类型转换​ dict()​ 字典的转换一般不使用关键字,而是自己动手2.字典必须要掌握的操作user_dict={'username':'kiki'......
  • 数据类型内置,字符编码
    字典相关操作1.类型转换 dict() 字典的转换一般不使用关键字而是自己动手转2.字典必须要掌握的操作 user_dict={'username':'jason','password':123,......
  • oracle基本数据类型
    ORACLE基本数据类型:字符串类型、数字类型、日期类型、LOB类型类型作用NUMBERNUMBER(P,S)是最常见的数字类型。P是Precision的英文缩写,即精度缩写,表示有效数字的......
  • 数据类型的内置方法及字符编码理论
    字典相关操作1类型转换​ dict()​ 字段转换一般不使用关键字,而是自己编写代码进行转化2字典掌握的方法user={'name':'zhangsan','age':18,'like':......
  • 进入python的世界_day8_python基础——字典、元组、合集的内置方法、编码的介绍
    写在开头,昨天学了一些数据类型的内置使用方法,比如整形、浮点型、字符串、列表,今天学字典、元组、集合的常用内置方法,布尔值是没有所谓的内置方法的,还学了字符编码一、字......
  • 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分析财务报表首先,什么是财务报表?财务报表是传达有关公司当前业务活动及其过去和现在财务业绩的信息的书面记录。分析财务报表、公司的资产负债表、损益表或......