Python基本数据类型——字典

Python基本数据类型——字典

一、字典简介

字典dict: 由键值对构成的无序集合(key–value
键(key): 数据类型一般为数字或者字符串,必须是唯一不重复的
值(value): 可以使任意数据类型

二、字典的变量初始化
a = {}
b = {
    1: 2,               #key:数字;value:数字
    "k2": "v2",         #key:字符串;value:字符串
    "k3": [1, 2, 3],    #key:字符串;value:列表
    "k4":(1, 2, 3),     #key:字符串;value:元组
    "k5": {
        "name": "vae",
        "age": 18
    },
    ("k6",): "v6"        #key:元组
}
print("a的数据类型是:", type(a))    #a的数据类型是: <class 'dict'>
print("b的数据类型是:", type(b))   #b的数据类型是: <class 'dict'>
三、字典的常用功能:长度、增删改查
1、长度
D = {
    "k1":"v1",
    "k2":"v2",
    "k3":"v3"
}
print(len(D))    #3
2、键、值、键值对
D = {
    "k1":"v1",
    "k2":"v2",
    "k3":"v3"
}
print(D.keys())          #dict_keys(['k1', 'k2', 'k3'])
print(D.values())        #dict_values(['v1', 'v2', 'v3'])
print(D.items())         #dict_items([('k1', 'v1'), ('k2', 'v2'), ('k3', 'v3')])
3、查

获取字典中值的方法共有三种:
第一种方法: 通过key值去获取value值(无对应值会报错)
第二种方法: get() (无对应值也不会报错,可以设置无值时返回的结果)
第三种方法: setdefault() (此方法会修改字典,前两种不会修改字典;有则获取,无则新增)

  • 第一种方法: 通过key值去获取value值(无对应值会报错)
D = {
    "k1":"v1",
    "k2":"v2",
    "k3":"v3"
}
print(D["k3"])   #v3
print(D["k4"])   #KeyError: 'k4'
  • 第二种方法: get() (无对应值也不会报错,可以设置无值时返回的结果)
D = {
    "k1":"v1",
    "k2":"v2",
    "k3":"v3"
}
print(D.get("k3"))       #v3
print(D.get("v4"))       #None
print(D.get("k4", "False"))   #False
  • 第三种方法: setdefault() (此方法会修改字典,前两种不会修改字典;有则获取,无则新增)
D = {
    "k1":"v1",
    "k2":"v2",
    "k3":"v3"
}
print(D.setdefault("k3"))   #v3
print(D.setdefault("k4"))   #None
print(D)    #{'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'k4': None}
print(D.setdefault("k5", "v5"))   #v5
print(D)    #{'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'k4': None, 'k5': 'v5'}
4、增

第一种方法: setdefault(),有则获取,无则增加
第二种方法: 通过索引,有则改,无则增

D = {
    "k1": "v1",
     "k2": "v2",
     "k3": "v3"
}
D["k4"] = "v4"
print(D)   #{'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'k4': 'v4'}
D["k5"] = "v5"
print(D)  #{'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'k4': 'v4', 'k5': 'v5'}
5、删

pop(): 获取并在字典中移除指定key值项
popitem(): 获取并且在字典中移除最后一项

D = {
    "k1": "v1",
     "k2": "v2",
     "k3": "v3"
}
D.pop("k1")
print(D)    #{'k2': 'v2', 'k3': 'v3'}
a = D.pop("k2")
print(a)    #v2
b = D.popitem()
print(b)    #('k3', 'v3')
print(D)    #{}
6、清空 clear()
D = {
    "k1": "v1",
     "k2": "v2",
     "k3": "v3"
}
D.clear()
print(D)   #{}
7、循环
  • items 键值对
D = {
    "k1": "v1",
    "k2": "v2",
    "k3": "v3"
}
for k, v in D.items():
    print(k, ":", v)
'''
运行结果:
k1 : v1
k2 : v2
k3 : v3
'''
D = {
    "k1": "v1",
    "k2": "v2",
    "k3": "v3"
}
for i, j in D.items():
    print(i, ":", j)
'''
运行结果:
k1 : v1
k2 : v2
k3 : v3
'''
  • keys() 键
D = {
    "k1": "v1",
    "k2": "v2",
    "k3": "v3"
}
for k in D.keys():
    print(k)
'''
运行结果:
k1
k2
k3
'''
  • values() 值
D = {
    "k1": "v1",
    "k2": "v2",
    "k3": "v3"
}
for k in D.values():
    print(k)
'''
运行结果:
v1
v2
v3
'''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值