Python基础 - 20210502 - 基础4 (字典,集合,运算,浮点数的精度控制)

这里是读书笔记

知识点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)}
'''                    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值