Python-字典: Dictionary

Python-字典

key-value, key必须唯一

1.常规创建字典

dict1 ={}   # 空字典
dict1['Sex'] = 'male'  # 添加字典项
print(dict1)
dict2 = {'Name': 'Bella', 'Age': '25'}  # 指定字典项
print(dict2)

2. 使用dict()函数创建字典

dict3 = dict()  # 空字典
print(dict3)
dict4 = dict(Namer='Bella', Age=25)  # 指定关键字
print(dict4)
dict5 = dict([('a', 1), ('b', 2), ('c', 3)])    # 传入多个元祖
print(dict5)
dict6 = dict([['a', 10], ['b', 9], ['c', 8]])    # 传入多个列表
print(dict6)
dict7 = dict.fromkeys(['Google', 'Runoob'])  # 使用fromkeys()函数构建,若无value,默认为None
print(dict7)
dict8 = dict.fromkeys(['Google', 'Runoob'], 10)  # 使用fromkeys()函数构建,value全部为10
print(dict8)

3. 字典操作

3.1 获取value

data = {'Name': 'Bella'}
name = data['Name']    # 直接访问,当key不存在,报错
name = data.get('Name')  # 使用get()函数,当key不存在,返回None

3.2 添 key-value

data = {'Name': 'Bella'}
data['Age'] = 23
print(data)
data.update({'Sex': 'male'}) #使用upate()函数
print(data)

3.3 修改key-value

data = {'Name': 'Bella', 'Age': '23'}
data['Name'] = 'Lily'
print(data)
data.update({'Name': 'Koro', 'Age': '41'}) #使用upate()函数
print(data)

3.4 删除key-value(in / not in 判断 key 是否存在)

data = {'Name': 'Bella', 'Age': '23'}
if 'Age' in data:
    del data['Name']    # del ---删除key-value
    print(data)
if 'Name' not in data:
    print('Name is not in data')

3.5 清空所有key-value

data = {'Name': 'Bella', 'Age': '25'}
data.clear()
print(data)

3.5 一些常用方法

items()—获取字典所有key-value,返回一个dict_items对象

dict_b = {'Name': 'Bella', 'Age': '25', 'Sex': 'male'}
items = dict_b.items()
list_a = list(items)    # 可转化为list

keys()—获取所有key

keys = dict_b.keys()

values()—获取所有value

values = dict_b.values()

popitem()—弹出字典最后一个key-value,并从字典中移除该key-value

dict_c = {'Name': 'Bella', 'Age': '25', 'Sex': 'male'}
print('popitem: ', dict_c.popitem())    # 弹出一个元祖
print(dict_c)
k, v = dict_c.popitem()
print('key: %s , value: %s' % (k, v))

pop()—弹出字典value,并从字典中移除该key-value

dict_d = {'Name': 'Bella', 'Age': '25'}
print('pop "Name" :', dict_d.pop('Name'))
print('pop "Age" :', dict_d.pop('Age'))
print('执行pop后:', dict_d)

copy()—字典复制,不改变原字典

data1 = {'a': 1, 'b': 2}
data2 = data1.copy()
data2['a'] = 5
print(data2, data1)
data2 = data1   # 直接复制,当data2改变时,会影响data1同时改变
data2['a'] = 5
print(data2, data1)

fromkeys() —构建字典列表

list1 = ['a', 'b']
st1 = dict.fromkeys(list1)
print(st1)

4.特殊操作

两个列表映射为字典

list1 = ['Name', 'Age']
list2 = ['Bella', '23']
dict1 = dict(zip(list1, list2))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值