博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python基础 - 20210502 - 基础4 (字典,集合,运算,浮点数的精度控制)
阅读量:3977 次
发布时间:2019-05-24

本文共 5303 字,大约阅读时间需要 17 分钟。

这里是读书笔记

知识点1 - 字典

1、字典的定义:

'''1、以key:value的形式;2、key一定是不能重复的,重复的会被覆盖3、key一定是不可变类型4、字典是无序的,因此没有切片和索引的操作'''	info={
'book':'非暴力沟通','book':'红楼梦'} print('字典长度:',len(info),',字典内容:',info) # 字典长度: 1 ,字典内容: {'book': '红楼梦'} kebiankey_info={
[list]:'非暴力沟通',[list1]:'红楼梦'} print('字典长度:',len(kebiankey_info),',字典内容:',kebiankey_info) # TypeError: unhashable type: 'list' bukebiankey_info={
1:'非暴力沟通',1.2:'红楼梦',False:'d',(1,):"haha"} print('字典长度:',len(bukebiankey_info),',字典内容:',bukebiankey_info) 字典长度: 4 ,字典内容: {
1: '非暴力沟通', 1.2: '红楼梦', False: 'd', (1,): 'haha'}

2、字典的增删改查

2.1、查
# 获取单个值	info={
"name":'非暴力沟通',"bonus":'红楼梦',False:'d',(1,):"haha"} print(info["name"]) print(info.get("name")) # > 非暴力沟通# 依次循环获取多个key,value: for key,values in info.items(): print(key,values) ''' name 非暴力沟通 bonus 红楼梦 False d (1,) haha ''' # 获取所有的key print(info.keys()) # dict_keys(['name', 'bonus', False, (1,), 'hobby'])# 获取所有的value print(info.values()) # dict_values(['非暴力沟通', '红楼梦', 'd', 'haha', '游泳'])
2.2、新增和修改
# 如果key在字典中没有,则为新添加元素,如果key存在则为修改元素	info["name"]="大话西游"	print(info["name"])	# 大话西游	info["hobby"]="游泳"    	print(info["hobby"])	# 游泳
2.3、删除
# 只能通过key去删除	info.pop("hobby")

知识点2 - 集合

3、集合

# set()集合是一个无序的不重复的序列# 1、去重	set_values={
"good","moning","hello","hi","i an fine","good"} print(set(set_values)) # {'hi', 'i an fine', 'good', 'hello', 'moning'}# 2、新增元素 new_set= set(set_values) new_set.add("你好") print(new_set) # {'i an fine', '你好', 'moning', 'hi', 'hello', 'good'} # 添加元素,且元素可以是元组,列表,字典 new_set.update((1,)) print(new_set) # {1, 'hi', 'good', 'moning', 'i an fine', 'hello', '你好'} # 3、移除元素 new_set.remove(1) print(new_set) # {'hi', 'i an fine', '你好', 'moning', 'hello', 'good'} # 移除元素,且不存在不会报错 new_set.discard("1") print(new_set) # {'moning', 1, '你好', 'i an fine', 'hello', 'hi', 'good'} # pop() 移除随机的元素

知识点3 - 运算

4、运算

4.1 算数 【+,-,*,/,//,%,**】
# 加减乘除就不说了'''%	取模 	返回除法的余数'''	print(11%3) 	# 2 '''**	幂 	返回x的y次幂'''	print(11**3) # 11的3次方	1331'''//	取整除	向下取接近商的整数'''	print(11//3)	# 3'''
4.2 赋值 【=,+=,-=,*=,/=,//=,%=,**=】
# 举个列子	a =12    	b=a      	print(b) 	# 12	b+=2    	print(b)	# 14
4.3 比较 【==,!=,>=,<=,>,<】
'''== 	表示二者是否相等!=	表示二者是否不相等'''# 得到true or false	a=12	b=14	print(b==a)		# False
4.4 逻辑 【and,or,not】
'''and:	布尔"与" - 如果 x 为 False,x and y 返回 x 的值,否则返回 y 的计算值,只有所有条件都为真时才返回true'''	print("a:",a,"b:",b,b!=a and b>=a) 	#a: 12 b: 14 True	print("a:",a,"b:",b,b!=a and b<=a)	# a: 12 b: 14 False'''or:	布尔"或" - 只要一个条件为真他就为真'''	print("a:",a,"b:",b,b!=a or b<=a)	# a: 12 b: 14 False'''not:	布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。	'''	print("a:",a,"b:",b,not b<=a)	# a: 12 b: 14 True
4.4 成员 【in,not in】
# in  x是否在什么什么的里面# not in x是否不在什么什么的里面# 一般是:元组,列表,集合,字典,字符串	str= "hava a bonus"	print("a" in str)	print("j" not in str)	#True

5、浮点数的精度控制

# 现象	print(0.1+0.2)	# 0.30000000000000004	print(0.1+0.2 == 0.3)	# False# 处理办法:	from decimal import *	print(Decimal(str(0.1)) + Decimal(str(0.2)) == Decimal(str(0.3)))	# Turn

来吧,练习一下吧~

题目:使用字典和列表存储和操作以下数据# a. 某相亲节目需要获取你的个人信息,请存储你的:姓名、性别、年龄	vip_info=[]                             	info_detail_dict={
} name=input("嘿,欢迎来到相亲大会,首先我们需要获取你的名字:") gander =input("做的好,请输入你的性别,只能填写男或女哦") age =input("好的,为了更好的匹配,请问您的年龄是?") info_detail_dict["name"]=name info_detail_dict["gander"] =gander info_detail_dict["age"]=age vip_info.append(info_detail_dict) print("恭喜入会成功,请查看你输入的信息",vip_info) # b. 有一个人对你很感兴趣,平台需要您补足您的身高和联系方式; stature=input("哇~ 好棒,识别到有人想更加深入的了解你,是否同意告诉他你的身高") phone =input("给他你的联系方式把~") info_detail_dict["stature"] =stature info_detail_dict["phone"] =phone print(vip_info) # c, 平台为了保护你的隐私,需要你删除你的联系方式; vip_info[0]["phone"] ="" print("尊贵的会员,处于安全考虑,我们将删除你的手机号,你在平台的最新数据是:") print(vip_info) # d, 你为了取得更好的成绩,需要取一个花名,并修改自己的身高和其他你觉得需要改的信息。 nikename= input("请输入您的花名") vip_info[0]["age"] ="100" vip_info[0]["stature"] ="196" print("平台根据最新的数据监测,将实时更新你的身高和年纪,你在平台的最新数据是:",vip_info) # e, 你进一步添加自己的兴趣,兴趣至少包含 3个(注意:兴趣是另外一个列表。请将这个列表作为一个成员,添加到原个人信息列表当中,添加到末尾即可。 hobby=[input("请输出您的爱好,用逗号隔开:")] info_detail_dict["hobby"] = hobby print(vip_info)题目(字符串和列表):利用下划线将列表li=["python","java","php"]的元素拼接成一个字符串,然后将所有字母转换为大写。 lis=["python","java","php"] str1="_".join(lis).upper() print(str1)---------------------------------------'''题目(类型操作)有下面几个数据 :t1 = ("aa",11)t2= ("bb",22)li1 = [("cc",11)]请进行相关操作变为如下字典: {"aa":11,"cc":11,"bb":22} '''----------------------------------------t1 = ("aa",11)t2= ("bb",22)li1 = [("cc",11)]li2=[]li2.extend(list(li1[0]))li2.extend(list(t1+t2))print(li2)dict_new={
}for i in range(0,len(li2)-1,2): dict_new[li2[i]]=li2[i+1]print(dict_new) 方式2:dict_new[t1[0]]=t1[1]dict_new[t2[0]]=t2[1]dict_new[li1[0][0]]=li1[0][1]print(dict_new)------------'''题目:简述学过的数据类型 可变类型有哪些 {"列表":'list','字典':'dict','集合':'set'} 不可变类型有哪些 {"数字":'(int,float)';布尔:(bool),字符串:(str);元组:(tuple)}'''

转载地址:http://zsrki.baihongyu.com/

你可能感兴趣的文章
在存储过程之间传递数据
查看>>
迁移存储过程
查看>>
GET DIAGNOSTIC 语句
查看>>
Python 简介
查看>>
Python 注释
查看>>
Python 变量
查看>>
Python 数据类型 -- 数字
查看>>
Spring 管理对象
查看>>
Spring 自定义对象初始化及销毁
查看>>
Spring Batch 环境设置
查看>>
字符组转译序列
查看>>
字符转译序列
查看>>
Java 数据类型
查看>>
UTF-16 编码简介
查看>>
Java 变量名
查看>>
Java 四舍五入运算
查看>>
Spring Batch 例子: 运行系统命令
查看>>
Spring Batch 核心概念
查看>>
Spring Batch 例子: 导入定长文件到数据库
查看>>
正则表达式
查看>>