WELCOME

不积跬步,无以至千里;不积小流,无以成江海。

Python字典

0.字典(dict)

  字典可存储任意类型对象,字典格式如下dict1={key1:value1,key2:value2},而且它的键是唯一的,若为重复则最后的一个键值对会替换前面的。值可以为任意数。

  1. 读取字典, 格式转换dict()
  2. 修改增加字典键值对dict(),setdefault()
  3. 删除或清空键值对del,clear(),pop(),popitem()
  4. 获取键值:get(),setdefault()
  5. 获取所有键:keys()
  6. 获取所有值:values()
  7. 获取所有键值:items()
  8. 更新字典:update()
  9. 格式转换:dict()
dict()

读取字典, 格式转换

dict(),setdefault() 修改增加字典键值对

del,clear(),pop(),popitem() 删除或清空键值对

get(),setdefault() 获取键值:

keys() 获取所有键:

values() 获取所有值:

items() 获取所有键值:

update() 更新字典:

dict() 格式转换:

 

1.字典的删除

 1 # pop(key):根据key实现删除,删除的是键值对,返回值key对应的value
 2 book = {'书名': '《三体》', '价格': 12.5, '作者': '刘慈欣', '出版社': '***出版社'}
 3 book.pop('出版社')
 4 print(book) # >> {'书名': '《三体》', '价格': 12.5, '作者': '刘慈欣'}
 5 
 6 # popitem():返回值:(key,value),从后往前删
 7 book = {'书名': '《三体》', '价格': 12.5, '作者': '刘慈欣'}
 8 book.popitem()
 9 print(book)  # >> {'书名': '《三体》', '价格': 12.5}
10 
11 # clear() :清空
12 book = {'书名': '《三体》', '价格': 12.5, '作者': '刘慈欣'}
13 book.clear()
14 print(book)  # >> {}
15 
16 # del
17 book = {'书名': '《三体》', '价格': 12.5, '作者': '刘慈欣'}
18 del book['价格']
19 print(book)  # >> {'书名': '《三体》', '作者': '刘慈欣'}
20 del book 
21 print(book)  # >>  name 'book' is not defined
1 # 列表嵌套字典的删除
2 books = [{'书名': '《三体》', '价格': 12.5, '作者': '刘慈欣', '出版社': '***出版社'},
3          {'书名': '《活着》', '价格': 18.5, '作者': 'xxx', '出版社': '///出版社'}
4          ]
5 for book in books:
6     print(book)
7     book.pop('出版社')
8 print(books)  # >> [{'书名': '《三体》', '价格': 12.5, '作者': '刘慈欣'}, {'书名': '《活着》', '价格': 18.5, '作者': 'xxx'}]

 

2.字典的遍历和查询

 1 # get(键):根据key得到value值
 2 book = {'书名': '《三体》', '价格': 12.5, '作者': '刘慈欣', '出版社': '***出版社'}
 3 value = book.get('书名')
 4 print(value)  # >> 《三体》
 5 
 6 # 如果字典里面没有需要查询的键值,则会返回None,同时也可以设置默认值
 7 value = book.get('书名1')
 8 print(value)  # >> None
 9 value = book.get('书名1', '《红楼梦》')
10 print(value)  # >> 《红楼梦》
11 # len():得到字典有几对键值对
12 print(len(book))  # >> 4
13 
14 # 字典['key']:也可以返回value,但是如果没有key,则会报错
15 value = book['书名']
16 print(value)  # >> 《三体》

 

 1 # 如果使用for 、、、in 直接遍历字典,取出的是字典的key
 2 book = {'书名': '《三体》', '价格': 12.5, '作者': '刘慈欣', '出版社': '***出版社'}
 3 for i in book:
 4     print(i)  # >> 书名 价格 作者 出版社
 5 
 6 # 字典.values : 获取字典所有的value
 7 print(book.values())  # >> dict_values(['《三体》', 12.5, '刘慈欣', '***出版社'])
 8 print(list(book.values()))  # >> ['《三体》', 12.5, '刘慈欣', '***出版社']
 9 
10 for v in book.values():
11     print(v)  # >>《三体》 12.5 刘慈欣 ***出版社
12 
13 # 字典.keys : 获取字典所有的key
14 print(book.keys())  # >> dict_keys(['书名', '价格', '作者', '出版社'])
15 print(list(book.keys()))  # >> ['书名', '价格', '作者', '出版社']
16 
17 for k in book.keys():
18     print(k)  # >>书名 价格 作者 出版社
19 
20 # 获取键值对:字典.items() --> 得到[()]
21 print(book.items())  # >> dict_items([('书名', '《三体》'), ('价格', 12.5), ('作者', '刘慈欣'), ('出版社', '***出版社')])
22 for i in book.items():
23     print(i)  # >> ('书名', '《三体》') ('价格', 12.5) ('作者', '刘慈欣') ('出版社', '***出版社')
24 
25 for k, v in book.items():
26     print(k, v)  # >> 书名 《三体》  价格 12.5  作者 刘慈欣  出版社 ***出版社
27     print(k)
28     print(v)

 

 

1 # 字典.setdefault() : 添加键值对
2 book = {'书名': '《三体》', '价格': 12.5, '作者': '刘慈欣'}
3 book.setdefault('出版社', '人民教育出版社')
4 print(book)  # >> {'书名': '《三体》', '价格': 12.5, '作者': '刘慈欣', '出版社': '人民教育出版社'}

 

 

1 # updata 实现两个字典的合并
2 book = {'书名': '《三体》', '价格': 12.5, '作者': '刘慈欣', '出版社': '人民教育出版社'}
3 book1 = {'a': 12, 'b': 18.5, 'c': 'xxx'}
4 book.update(book1)
5 print(book)  # >> {'书名': '《三体》', '价格': 12.5, '作者': '刘慈欣', '出版社': '人民教育出版社', 'a': 12, 'b': 18.5, 'c': 'xxx'}

 

posted @ 2022-03-21 13:53  Ambitious~  阅读(30)  评论(0)    收藏  举报