Python学习 Day03 字典

列表

  • 字典
    • Python内置的数据结构之一,与列表一样是个可变序列
    • 以键值对的方式存储数据
    • 字典是一个无序的序列

1.创建字典

'''字典的创建方式'''
'''使用{}创建字典'''
scores={'张三':100,'李四':89,'王五':70}
print(scores)
print(type(scores))

'''使用内置函数dict()'''
student=dict(name='jack',age=20)
print(student)

'''创建一个空字典'''
d={}
print(d)
{'张三': 100, '李四': 89, '王五': 70}
<class 'dict'>
{'name': 'jack', 'age': 20}
{}

2.字典元素的获取

'''获取字典中元素'''
'''使用[]'''
scores={'张三':100,'李四':89,'王五':70}
print(scores['张三']) #100
#print(scores['陈留']) #KeyError: '陈留'

'''get()方法'''
print(scores.get('张三')) #100
print(scores.get('陈留')) #None 不会报错,正常运行
print(scores.get('马奇',90)) #指定的key不存在时返回默认设置的value
100
100
None
90

3.字典元素的判断、删除、修改

'''key的判断'''
'''使用[]'''
scores={'张三':100,'李四':89,'王五':70}
print('张三' in scores)
print('Mary' not in scores)

'''字典元素的删除'''
del scores['张三'] #删除指定的key-value对
print(scores)
#print(scores.clear()) #清空字典元素 None

'''字典元素的新增'''
scores['陈留']=99
print(scores)

'''字典元素的修改'''
scores['陈留']=60
print(scores)
True
{'李四': 89, '王五': 70}
{'李四': 89, '王五': 70, '陈留': 99}
{'李四': 89, '王五': 70, '陈留': 60}

4.获取字典视图

'''获取字典视图'''

'''获取所有键'''
scores={'李四': 89, '王五': 70, '陈留': 60}
keys=scores.keys()
print(keys)
print(type(keys))
print(list(keys)) #将所有键组成的视图转成列表

'''获取所有value'''
values=scores.values()
print(values)
print(type(values))
print(list(values))

'''获取所有键值对'''
items=scores.items()
print(items)
print(type(items))
print(list(items)) #转换之后的列表元素是由元组组成
dict_keys(['李四', '王五', '陈留'])
<class 'dict_keys'>
['李四', '王五', '陈留']
dict_values([89, 70, 60])
<class 'dict_values'>
[89, 70, 60]
dict_items([('李四', 89), ('王五', 70), ('陈留', 60)])
<class 'dict_items'>
[('李四', 89), ('王五', 70), ('陈留', 60)]

5.字典元素的遍历

'''字典元素的遍历'''

scores={'李四': 89, '王五': 70, '陈留': 60}
for item in scores:
   #print(item)
    print(item,scores[item],scores.get(item))
李四 89 89
王五 70 70
陈留 60 60

6.字典生成式

items=['Fruits','Books','Others']
prices=[9,34,56,78,34]

d={items.upper():prices for items,prices in zip(items,prices)}
print(d)
{'FRUITS': 9, 'BOOKS': 34, 'OTHERS': 56}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值