《python基础课》(10)字典dict。
这节课我们讲字典dict。
主要内容
我们已经了解了列表list,为什么还要学dict?
比如现在有两个list,
list1=['语文课代表','数学课代表','英语课代表','编程课代表']
list2=['小红','小明','小青','小欣']
课代表和姓名是一一对应的关系。我们如果想知道编程课代表是谁,按照之前学的知识点,你能想到应该如何操作吗?
for i in range(len(list1)):
if list1[i] == '编程课代表':
print(list2[i])
如果我们想添加体育课代表怎么办?
list1.append("体育课代表")
list2.append("小刚")
或用insert命令,同学们复习一下list的内容。
删除操作呢?
for i in range(len(list1)):
if list1[i] == '语文课代表':
dellist1[i]
dellist2[i]
传统的类似C语言,本身没有dict结构,就是用类似上面的方式来模拟实现。但是这种方法的隐患是,例如我们进行添加或者删除操作时,只对一个list操作,而忘记了另一个,那么就会造成对应关系的混乱,排查问题的时候也很难发现。
python内置了dict数据类型,就可以完美解决混乱的问题。
dict={'key1':'value1','key2':'value2',……}
key是dict的键,value是dict的值。
class_dict ={
'语文课代表':'小红',
'数学课代表':'小明',
'英语课代表':'小青',
'编程课代表':'小欣'
}
单个查找:
print(class_dict['编程课代表']) 或者
print(class_dict.get('编程课代表'))
注意中括号和小括号
添加:
dict[key]=value
class_dict['体育课代表'] = '小刚'
修改:
dict[key]=value
和添加形式上一样,如果key已经存在,则直接修改key对应的value
class_dict['数学课代表'] = '小白'
print(class_dict) 看一下效果
删除:
class_dict.pop('英语课代表')
*查找所有的key:
for assistant inclass_dict.items():
print(assistant)
*查找所有的key和value:
for assistant, name inclass_dict.items():
print('类型:%s,姓名:%s' %(assistant,name ))
如果想通过value查key应该怎么做呀?
给大家一个思路,我们只要建立一个新数组例如class_dict2,然后查找所有的key和value,并交换key和value,插入class_dict2[value]=key。
练习
试着实现通过value查key的操作,例如查找小明是什么课代表。
培养未来的孩子
领取专属 10元无门槛券
私享最新 技术干货