本文共 5303 字,大约阅读时间需要 17 分钟。
这里是读书笔记
'''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'}
# 获取单个值 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', '游泳'])
# 如果key在字典中没有,则为新添加元素,如果key存在则为修改元素 info["name"]="大话西游" print(info["name"]) # 大话西游 info["hobby"]="游泳" print(info["hobby"]) # 游泳
# 只能通过key去删除 info.pop("hobby")
# 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() 移除随机的元素
# 加减乘除就不说了'''% 取模 返回除法的余数''' print(11%3) # 2 '''** 幂 返回x的y次幂''' print(11**3) # 11的3次方 1331'''// 取整除 向下取接近商的整数''' print(11//3) # 3'''
# 举个列子 a =12 b=a print(b) # 12 b+=2 print(b) # 14
'''== 表示二者是否相等!= 表示二者是否不相等'''# 得到true or false a=12 b=14 print(b==a) # False
'''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
# in x是否在什么什么的里面# not in x是否不在什么什么的里面# 一般是:元组,列表,集合,字典,字符串 str= "hava a bonus" print("a" in str) print("j" not in str) #True
# 现象 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/