知识点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) print(str1) new_str=str1.replace("_","") if new_str.isAlpha(): print(new_str.upper())---------------------------------------'''题目(类型 *** 作)有下面几个数据 :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','字典':'map','集合':'set'} 不可变类型有哪些 {"数字":'(int,float)';布尔:(bool),字符串:(str);元组:(tuple)}'''
总结 以上是内存溢出为你收集整理的Python基础 - 20210502 - 基础4 (字典,集合,运算,浮点数的精度控制)全部内容,希望文章能够帮你解决Python基础 - 20210502 - 基础4 (字典,集合,运算,浮点数的精度控制)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)