python之字典

目录

字典的取值方法

1. .get()

2. [' ']

区别:

3. .key()和 .values()

4. .items()

字典添加键值对

.setdefalult()

创建新字典

.fromkeys()


字典的取值方法

1. .get()

     .get()用于对字典取值,若字典中没有该值,并且未指定返回值,则输出为Non;若指定返回值,则会返回返回值。

举例:

book = {"书名": "三体", "价格": 18, "作者": "刘慈欣", "出版社": "****"}
a = book.get("书名")  # 根据key获取value ,如果输入的是没有的key,会返回None
print(a)
b = book.get("年龄", "未知")  # 后可加默认值,若没有key,则返回第二个值
print(b)


# 三体
# 未知

2. [' ']

    [' '] 用中括号取值,类似于列表取值

举例:

book = {"书名": "三体", "价格": 18, "作者": "刘慈欣", "出版社": "****"}
a = book["书名"]
print(a)


# 三体

区别:

        .get()取值时,当字典中没有要取的值时,会返回None或默认值;而[" "]取值时,字典中没有要取的值时,会报错。

3. .key()和 .values()

        .key(),获取字典中所有的键;.values()获取字典所有的值

book = {"书名": "三体", "价格": 18, "作者": "刘慈欣", "出版社": "****"}
for i in book.keys():
    print(i)
x = book.values()  # 获取字典的value,以列表形式打印
print(x)
for m in book.values():  # 获取字典所有的values
    print(m)


书名
价格
作者
出版社
dict_values(['三体', 18, '刘慈欣', '****'])
三体
18
刘慈欣
****

4. .items()

        获取字典的键值对,最终以列表形输出

book = {"书名": "三体", "价格": 18, "作者": "刘慈欣", "出版社": "****"}
print(book.items())   # 获取键值对,以列表形式输出

for k, v in book.items():
    print(k, v)
 

dict_items([('书名', '三体'), ('价格', 18), ('作者', '刘慈欣'), ('出版社', '****')])
书名 三体
价格 18
作者 刘慈欣
出版社 ****

        可以看出,当使用.items()时,会以列表形式封装,并且键值对以元组封装。当我们想同时获取键和值时,可以进行for循环遍历

字典添加键值对

.setdefalult()

.setdefalult()用于添加字典的键值对,当有相应的键值对时,不会覆盖原来的值,没有才会添加

举例:

book = {"书名": "三体", "价格": 18, "作者": "刘慈欣", "出版社": "****"}
book.setdefault("书名", "qq")
book.setdefault("年龄", 54)       # 只能做添加键值对使用
print(book)


{'书名': '三体', '价格': 18, '作者': '刘慈欣', '出版社': '****', '年龄': 54}

.update()

        .update(),用于将两个字典合并为一个字典

book = {"书名": "三体", "价格": 18, "作者": "刘慈欣", "出版社": "****"}
dict1={"a":10,"b":3}
book.update(dict1)     # 将字典合并
print(book)

{'书名': '三体', '价格': 18, '作者': '刘慈欣', '出版社': '****', 'a': 10, 'b': 3}

创建新字典

.fromkeys()

n1=(1,2,3)
dict1=dict.fromkeys(n1)
print(dict1)

{1: None, 2: None, 3: None}
n1=(1,2,3)
dict1=dict.fromkeys(n1,["num1","num2","num3"])
print(dict1)

        可以看出,当创建新字典时,若没有指定值,则会返回None,指定后,也不会遍历赋值,而是直接将值赋予给每个键

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值