首页 > 编程语言 >Python 字典学习笔记

Python 字典学习笔记

时间:2022-09-30 15:11:06浏览次数:62  
标签:classroom Python 笔记 Amy Book key print 字典

字典(Dictionary)

字典(Dictionary) 是一个无序、可变和有索引的集合。在 Python 中,字典用花括号{}编写,拥有键和值。'''

单级实例操作
classroom = {'Jack':12,'Amy':11,'Jane':10,'Tom':7}

# 查找:根据key查找对应value
# 第一种方式若查找的key不存在会报错,so除非确定查找的key存在,否则用get方式查找,存在就返回值,不存在就返回None
print(classroom['Amy']) # 返回:11
print(classroom.get('Amy')) # 返回:11
print(classroom.get('Bob')) # 返回:None

# 判断某个key在不在字典中
print('Ben' in classroom) # 存在就返回True,不在就返回False

# 修改:如果key已存在,则修改
classroom['Amy']='12'

# 新增:如果key不存在,则新增
classroom['Emma']='12'

# 删除:del是python通用的,不是字典独享的
del classroom['Tom']
classroom.pop('Jane')
classroom.popitem() # 随机删除,尽量不用,随机删是想干啥...

print(classroom)




多级字典嵌套及操作
Book = {
'中国':{
'长相思':['仙侠小说','推荐5星,超爱的,你们一定要去看!!!'],
'再别康桥':['文学类','推荐4星'],
'一年级语文辅导':['工具书','推荐3星']
},
'美国':{
'一年级英语辅导':['工具书','推荐3星'],
'少有人走的路':['文学类','推荐4星,不同阶段看会有不同感受'],
'杀死一只知更鸟':['文学类','推荐X星,没读过'],
},
'英国':{
'傲慢与偏见':['文学类','推荐4星'],
'暮光之城':['小说','推荐5星,看过电影感觉还不错']
}
}

# 查找
print(Book['美国']['一年级英语辅导'])
# 如果字典里面嵌套有字典,无法通过 get() 直接获取 value:
print(Book.get('美国').get('一年级英语辅导'))
print(Book.get('英国').get('暮光之城'))


# 增加
Book['英国']['月亮与六便士'] = ['文学小说','推荐5星,触发思考']
print(Book)

# 修改
Book['英国']['月亮与六便士'] = ['文学小说','推荐5星,触发思考,个人看过之后感觉更迷茫了']
print(Book)
Book['英国']['月亮与六便士'][1] = ['文学小说','推荐5星,触发思考,可是个人看过之后感觉更迷茫了']
print(Book)


# 删除:pop是标准删除法,del是另一种删除法
# del Book['英国']['月亮与六便士'][1]
Book['英国']['月亮与六便士'].pop(1)
print(Book)




其他用法
# 打印字典内所有的值(value)
print( Book.values() )

# 打印字典内所有的索引(key)
print( Book.keys() )

# 在Book字典中找key”英国“,如果已存在,返回已存在的值;如果不存在,就创建一个。
Book.setdefault('英国',{'人性的枷锁':'经典,毛姆作品'})
print(Book)

# update:把两个字典合并,A字典已有key,B字典里对相同key的值进行覆盖;A字典没有的key,就新增B字典的进去。

classroom1 = {'Jack':12,'Amy':11,'Jane':10}
classroom2 = {'Jack':13,'Tom':7}

classroom1.update(classroom2)
classroom2.update(classroom1)
print(classroom1) # 返回:{'Jack': 13, 'Amy': 11, 'Jane': 10, 'Tom': 7}
print(classroom2) # 返回:{'Jack': 13, 'Tom': 7, 'Amy': 11, 'Jane': 10}

# 把字典转换为列表
print( classroom2.items() ) # 返回:dict_items([('Jack', 13), ('Tom', 7), ('Amy', 11), ('Jane', 10)])

# 初始化一个新的字典,并把值赋给key。注意 :单层修改的时候可以用,多层字典慎用,因为修改某个值会把其他的值都改了。
c = dict.fromkeys([1,2,3],['test1',{'test2':444},'test3'])
print(c)

c[2][1]['test2']= 'TEST'
print(c)


字典循环
classroom = {'Jack':12,'Amy':11,'Jane':10,'Tom':7}

# 标准方式
for i in classroom:
print(i,classroom[i]) # 打印 key 和 key的值

# 另一种方式(须先将字典转换为列表,再打印,比较低效,数据多的情况不建议使用)
for k,v in classroom.items():
print(k,v)

标签:classroom,Python,笔记,Amy,Book,key,print,字典
From: https://www.cnblogs.com/wujiaqing/p/16744963.html

相关文章

  • 9月份读书笔记1
    importjava.util.Scanner;importjava.util.Random;importjava.math.BigInteger;publicclasssizeyunsuan{ //出题参数 Randomr=newRandom(); Strings[]=newStr......
  • 9月份读书笔记2
    importjava.util.Scanner;importjava.util.Random;importjava.math.BigInteger;publicclasssizeyunsuan{ //出题参数 Randomr=newRandom(); Strings[]=newStr......
  • python-当函数赋给变量时带括号与不带括号的区别
    python-当函数赋给变量时带括号与不带括号的区别参见下面的例子:deftest():print("callthetestfunc")return0p=testprint("type(p):",type(p))pr......
  • Python+pandas把excel的多个sheet提取成单独的xls文件
    importpandasaspdimporttimerootdir=r"G:\20220613库存\分类\\"rootexcel=r"G:\20220613库存\总表.xlsx"#获取所有sheet名df0=pd.ExcelFile(rootexcel)sheet_......
  • 学习笔记——Django项目的删除数据、查询数据(filter、get、exclude)
    2022-09-30删除数据:方式一:打开pycharm,进入虚拟环境,进入shell环境(pythonmanage.pyshell)。删除数据,接上面的笔记——“学习笔记——Django项目的新增数据、修改数据”......
  • 笔记本触摸屏凸起处理问题处理
    笔记本机械革命深海幽灵Z2Air触摸屏凸起。如下图,笔记本已经有2-3年的时间了​这个触摸屏的地方背后位置是电池的位置。拆开笔记本,发现电池部分鼓起来,所以是因为电池鼓起来......
  • 【笔记】Oracle Offset 以及力扣
    【笔记】OracleOffsetoffset代表跳过前n行,如果表少于n+1条记录,结果集将是空的;比如n=100,表示从101开始往后查。fetchnext代表往后查n行;next和first可......
  • (转载)【RocketMQ 课程笔记】18.消费者基于自定义属性实现SQL过滤
    消费者基于自定义属性实现SQL过滤在发送消息时,发送方可以自定义消息的用户属性,消费者可以利用SQL92的WHERE子句语法实现消息过滤。相比Tag过滤,消息过滤使用更加灵活,也更......
  • 图像处理学习笔记-04-频率域滤波03
    下式是二维傅里叶变换\(DFT\)\[F(\mu,v)=\sum_{x=0}^{M-1}\sum_{y=0}^{N-1}f(x,y)e^{-j2\pi(\mux/M+vy/N)}\]其中\(f(x,y)\)是大小为\(M\timesN\)的......
  • python之sys模块详解
    处理命令行参数 在解释器启动后,argv列表包含了传递给脚本的所有参数,列表的第一个元素为脚本自身的名称。sys.argv[0]表示程序自身sys.argv[1]表示程序的第一个......