1. 字典的定义
字典也是可变的
但是字典里边的key是唯一的
字典的类型dict
定义:{key:values}
利用key来进行访问
案例:
# 理论,所以不可变的类型都可以做为key,
# 只要是可hash的的对象都 可以做为key
# key一般情况下使用字符串类型的数据充当,
d = {}
print(d)
print(type(d))
# 字典的形式键值对,key:values
d1 = {'one':'星期一', 'tow':'二'}
print(d1)
2.字典的访问
通过直接的key | d[‘key’],找不到会报错 |
---|---|
get | d.get(key),找不到返回None |
案例
d = {'tom':'19', 'ming':'20', 'jj':'90'}
# 下标的访问,不过下标是key
print(d['tom'])
print(d['ming'])
# 字典是一个可变的类型
d['tom'] = '22'
print(d)
# 访问
# 没有key的时候就会报错
print(d['tom'])
# get不会报错,没有返回None
print(d.get('oo'))
3. 字典元素的四种遍历方式
for-in | 正常的for |
---|---|
keys() | 取出key的只进行遍历 |
values() | 只取出values |
items() | 取出的是键值对 |
案例:
d = {'tom':'19', 'ming':'20', 'jj':'90'}
# 方式一 for
for v in d:
print(f'for-in:{v}--->{d.get(v)}')
# 方式二 keys
print(d.keys())
for v in d.keys():
print(f'keys: {v}-->{d[v]}')
# 方式三 values 只有values,没有key的值
print(d.values())
for c in d.values():
print(f'values: {c}')
# 方式四 items
print(d.items())
for v in d.items():
print(f'items: {v[0]}-->{v[1]}')
# 解包的方式
for k,v in d.items():
print(f'{k}-->{v}')
4. 字典的增删改查
增加 | 没有这个key存在的时候直接写就是增加 |
---|---|
修改 | key存在就是修改了 |
查 | 直接key或者get |
删除 | popitem默认删除最后一个,pop删除指定的内容,del删除 |
清空 | clear |
案例:
# 增加 key值没有就是直接的添加
d = {}
d['haha'] = 'hello'
d['ha'] = 'tom'
d['h'] = 'hd'
print(d)
# 修改
d['haha'] = 'world'
print(d)
# 查
print(d['ha'])
print(d.get('ha'))
# 删除 popitem默认删除最后一个键值对
d.popitem()
print(d)
# pop通过指定的可以来删除
d.pop('haha')
print(d)
# clear 清除键值对
d.clear()
print(d)
# del
del d['ha']
del d
名片的练习
def create_card():
card = {}
card['name'] = input('请输入姓名:')
card['age'] = input('请输入年龄: ')
card['sex'] = input('请输入xingbie: ')
return card
def show_card(card):
for k in card:
print(f'{k}-->{card.get(k)}')
show_card(create_card())