九、python 字典dict

字典 dict 相当于一组键值对。

一、字典的说明:

首先声明字典名,如dic1 。然后声明字典的内容。通过大括号引起,元素用逗号(,)分割,切字典的值可以为字符,列表,元祖,数字,布尔值等。

1、字典的键不可以是字典和列表。其余的都可以。包括元祖和布尔。

2、字典里面的键值对是没有顺序排列的。

3、字典的键重复不会报错,但是取到的值是最后一个重复的键的值。且不建议取重复键名。

例:

dic1 = {
    "old":12,
    "name":"陈司",
    "list1":[
        1,
        2,
        3,
        ("im","tuple")
    ],
    "dic2":{
        "old":19,
        "name":"haha",
    }
}
#如果取某一个值,比如"name": "陈司"
#方法应该是
print(dic1["name"])
#但是此处name定义了两次,所以只能取到最后一次定义的haha

运行结果

 

二、字典的使用。

1、删除字典元素。

与list 的删除方式是相同的,del 加字典名与键名即可。也可以用pop方法,删除的同事返回删除的键的所对应的值。该值可以用变量去接,也可以忽略。

dict.popitem() 是随机删除字典某一个键值对。

例:

 


dic1 = { "a": "12345", "b": "23456", "c": "34567", } print(dic1)
#删除 b 键 del dic1[
"b"] print(dic1)

运行结果

 

2、for 循环打印字典内容

默认只会打印出KEY,而不会打印出value

例:

dic1 = {
    "a": "12345",
    "b": "23456",
    "c": "34567",
}
for i in dic1:
    print(i)

运行结果

也可以指定打印key还是values ,通过字典自带的 keys() 和 values()方法即可。

也可以直接把键值对全部打印,方法是items()

dic1 = {
    "a": "12345",
    "b": "23456",
    "c": "34567",
}
for i in dic1.keys():
    print(i)
for i in dic1.values():
    print(i)
for i in dic1.items():
    print(i)

 

3、dict.fromkeys(),该方法为静态方法。可以直接用dict类调用,不需要对象去调用。可以根据序列,创建一个字典,并赋相同的值。

v = dict.fromkeys(["陈司本人","陈司自己","陈司本尊"],"是大帅哥")
print(v)
for i in v.items():
    print(i)

运行结果

 

4.dict.get()方法,传入键返回一个值。如果值不存在返回none,或者参数传两个,右边的参数会代替none 返回。

该方法,主要防止直接用dict["KEY"]的方式,出现key不存在而返回报错信息的。因为直接用key 去找值很危险,这样不存在返回none 就不会报错了。

例:

dic1 = {
    "k1": "chenSi",
    "k2": "ShuaiGe",
    "k3": "hehe"
}
print(dic1.get("k1","如果不存在返回这句话"))
print(dic1.get("k4","如果不存在返回这句话"))
#####分割线#####
print(dic1["k2"])
print(dict1["k4"])

运行结果

5、dict.setdefault()传入key 和 value 两个参数。如果KEY 存在,则value 不生效,并返回存在的key 的值。如果key不存在,则创建新的key 和 value 到字典中。

dic1 = {
    "k1": "chenSi",
    "k2": "ShuaiGe",
    "k3": "hehe"
}
v1 = dic1.setdefault("k1","dabendan")
print(dic1,v1)
v2 = dic1.setdefault("k4","123456789")
print(dic1,v2)

运行结果

 6、dict.update() 方法,更新字典里的值。

 

dic1 = {
    "k1": "chenSi",
    "k2": "ShuaiGe",
    "k3": "hehe"
}
#写法1
dic1.update({"k1":"陈司"})
print(dic1)
#写法2,k2不能加引号
dic1.update(k2="帅哥",)
print(dic1)

运行结果

 

转载于:https://www.cnblogs.com/chensilinux/p/11419039.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值