字典
特点
- 符号 {}
- 关键字:dict
- 保存的元素是:key :value 成对的 一对的元素
定义
- dict1={} #定义一个空字典
- dict2={“姓名”:”小明“,”性别“:”女“} #[“小明”,”女“]
- 只有两两成对的list才能转字典
eg:
dict2=dict([(1,2),(3,4),(5,6)])成对的第一个是key ,第二个是value
字典的增
- 格式:dict6[key]=value
- 特点:按照上面的格式,如果有相同的key时,则发生覆盖,如果没有同名的key,则发生覆盖。
- 注意:key是唯一的,值才能更改,重叠。
- 练习:book={}
书名,作者,价格,出版社,
促销,价格打八折,
打印最后字典中的内容。
book . setdefault(“出版社”,“人民教育出版社”)
book.update()将两个字典合并
book.fromkeys()创建新的字典,yong给定的元素为key
字典的删
- clear()清空字典
- pop(key) 根据key删除,删除的是键值对。返回值是key对应的value
- popitem()无需传任何参数,返回值是key和value的键值对,从后向前删除。
- del 系统自带的,类似与pop
字典的改
参考增加。
字典的查
- dict.get(key):根据key获取value
- dict[key]:根据key获取value,
两者的区别是:get(key)如果不存在返回none,同时,get(key,默认值)可以设置默认值
dict(key)如果没有key则报error错误。
字典遍历
- for … in遍历,取出来的是key值
- for in book.values() #便利取出的是字典的值
- book.values() 出来的是所有的字存放在列表中。
- book.keys()拿出所有的keys放在字典中。
- book.items()元组中放一对键值对
作业
''练习:books=[]
book放多本书
书{}
书名 作者 价格
1,添加三本书
不能添加同名书籍。
'''
books=[]
book={}
i=0
while i<3:
name= input("请输入书名:")
for book in books:
if name in book.get("书名"):
print("已经有了,请勿重复输入:")
break
i-=1
else:
author = input("请输入作者:")
price = input("请输入价格:")
i=i+1
books.append({
"书名": name,
"作者": author,
"价格": price,
})
print(books)