首页 > 编程语言 >python学习之数据内置

python学习之数据内置

时间:2022-09-30 17:58:50浏览次数:48  
标签:内置 name 22 python res 元组 学习 dict print

image

今日分享

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

字典相关操作

1.类型转换
	dict()
	字典的转换一般不使用关键字 而是靠自己手动转
2.必须要学的操作
	u_dict = {
	'name':'wei',
	'password':3472,
	'hobby':['baskertball','swimming']
	}
2.1.按k取值(不推荐使用)
	print(u_dict['username'])  # 输出wei
	print(u_dict['phone'])
2.2 按内置方法get取值(推荐使用)
	print(u_dict.get('username'))  # wei
	print(u_dict.get('age'))  # None
	print(u_dict.get('name', '没有哟 嘿嘿嘿'))
	#  wei 键存在的情况下获取对应的值
	print(u_dict.get('phone', '没有哟 嘿嘿嘿')) 
	# 键不存在默认返回None 但是可以通过第二个参数自定义
2.3 修改数据值
	print(id(u_dict)) # 2274169855864
	u_dict['name'] = 'tony'
	print(id(u_dict)) # 2274169855864
	print(u_dict) 
	# 'name': 'tony', 'password': 3472, 'hobby': ['baskertball', 'swimming']}
2.4 新增键对值
	u_dict['age'] = 18  # 键不存在则新增键值对
	print(u_dict)
2.5 删除数据
	del u_dict['name'] 
	print(u_dict)  
	# {'password': 3472, 'hobby': ['baskertball', 'swimming'], 'age': 18}
	res = u_dict.pop('password')
	print(u_dict)  # {'hobby': ['baskertball', 'swimming'], 'age': 18}
	print(res)  # 3472
2.6 统计字典中键值对的个数
	print(len(u_dict))  # 3
2.7 字典三剑客
	print(u_dict.keys())  #一次性取所有的键
	# dict_keys(['name', 'password', 'hobby'])
	print(u_dict.values()) # 一次性获取字典所有的值
	#dict_values(['wei', 3472, ['baskertball', 'swimming']])
	print(u_dict.items())
	#dict_items([('name', 'wei'), ('password', 3472), ('hobby', ['baskertball', 'swimming'])])
	for i in u_dict.items():
		k,v = i
		print(k, v)
2.8 补充
	print(dict.fromkeys(['name', 'pwd', 'hobby'], 123))
	# {'name': 123, 'pwd': 123, '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)
    '''当第二个公共值是可变类型的时候 一定要注意 通过任何一个键修改都会影响所有'''
    # 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.索引取值
	print(t1[0])
    # 2.切片操作
	print(t1[:])
	print(t1[0:4])
	print(t1[:-4])
    # 3.间隔、方向
	print(t1[0:6:2]) # (11, 33, 55)
	print(t1[::-2]) # (66, 44, 22)
    # 4.统计元组内数据值的个数
    	print(len(t1))  # 6
    # 5.统计元组内某个数据值出现的次数
    	print(t1.count(11))
    # 6.统计元组内指定数据值的索引值
    	print(t1.index(22))
    # 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 = set(l1) #
    	l1 = list(s1)
    	print(l1) #
		'''集合的去重无法保留原先数据的排列顺序'''
4.关系运算
   群体之间做差异化校验
   两个微信账户之间 有不同的好友 有相同的好友
   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.编码与解码
	编码:将人类的字符按照指定的编码编码成计算机能够读懂的数据
        字符串.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 = []
 for l3 in l1:
     if l3 not in l2:
	l2.append(l3)
 	print(l2)

标签:内置,name,22,python,res,元组,学习,dict,print
From: https://www.cnblogs.com/wei0919/p/16745505.html

相关文章

  • 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_......
  • 通过机器学习预测足球运动员的市场价值
    通过机器学习预测足球运动员的市场价值NeymarJr每年夏天,足球界都会广泛流传关于转会的猜测,但这些事情往往会拖延。为什么?通常的原因是双方无法就球员的转会费达成一致,......
  • 使用 Python 分析财务报表
    使用Python分析财务报表首先,什么是财务报表?财务报表是传达有关公司当前业务活动及其过去和现在财务业绩的信息的书面记录。分析财务报表、公司的资产负债表、损益表或......
  • drf学习笔记
    今日内容概要两个视图基类五个视图扩展类九个视图子类视图集今日内容详细两个视图基类补充:GenericAPIView:属性:1.queryset#要序列化的数据......
  • 数据类型内置方法下 字典、元组、集合、字符编码理论
    +数据类型内置方法下字典、元组、集合、字符编码理论目录§一、字典的内置方法1、字典的类型转换dict()2、字典相关操作1.按key取值(不推荐使用)2.按内置方法get取值(推荐使......
  • 【学习笔记】分页和排序
    分页和排序排序关键字:ORDERBY升序:ASC降序:DESC我们以学生成绩的升序降序为例,将学生排序语法:ORDERBY字段名DESC/ASCSELECTs.studentno,studentname,subjectna......
  • 学习笔记-SQL注入(SQLI-LABS第一关)
    初学者掌握手工注入的过程:(1)判断是否存在注入点//(URL,POST表单,HTTP头部字段......)(2)判断字段长度(字段数)//(有可能保存在后台数据库某一个表当中......
  • Python dataframe 处理记录
    1、分组求和importpandasaspdfromdatetimeimportdatetime,timedeltadata=pd.DataFrame({"company":["A","A","A","A","A","A","A","A","A......