关于字典复习

 python 字典的一些笔记

# 一个字典
dict1 = {'a': 0, 'b': 0, 'c': 0, 'd': 0}
# 控制台输出
print(type(dict1), dict1)

输出结果:<class 'dict'> {'a': 0, 'b': 0, 'c': 0, 'd': 0}

# 通过 key 访问 value
# 和列表和元组一样使用dict1[X],只是此时在方括号中放的是 key,而不是索引
print(type(dict1['a']), dict1['a'])

输出结果:<class 'int'> 0

# 通过 key 修改 key-value 对
# 对存在的key-value对赋值,改变key-value对
dict1['a'] += 27
print(type(dict1['a']), dict1['a'])

dict1['c'] = 'hu'
print(type(dict1['c']), dict1['c'])

输出结果:<class 'int'> 27
                  <class 'str'> hu

# 通过 key 添加 key-value 对
# 对不存在的key赋值,就是增加key-value对
dict1['python'] = 'python'
dict1['C'] = 'C语言'
dict1['java'] = 'java'
print(type(dict1), dict1)

输出结果:<class 'dict'> {'a': 27, 'b': 0, 'c': 'hu', 'd': 0, 'python': 'python', 'C': 'C语言', 'java': 'java'}

# 字典的遍历 输出的是字典的key key是什么类型就是什么类型
for item in dict1:
    print(type(item), item)

输出结果:

<class 'str'> a
<class 'str'> b
<class 'str'> c
<class 'str'> d
<class 'str'> python
<class 'str'> C
<class 'str'> java

# 使用del语句删除key-value对
del dict1['a']
del dict1['b']
del dict1['java']
print(type(dict1), dict1)

输出结果:<class 'dict'> {'c': 'hu', 'd': 0, 'python': 'python', 'C': 'C语言'}

# 通过 key 删除 key-value 对 这样只能删除一次 就必须break
# 否则 RuntimeError: dictionary changed size during iteration
# 所以 break 不能少
for item in dict1:
    print(type(item), item)
    if item == 'python':
        del dict1[item]
        break

输出结果:

<class 'str'> c
<class 'str'> d
<class 'str'> python

# 通过 key 判断指定 key-value 对是否存在
# 如果要判断字典是否包含指定的 key,则可以使用 in 或 not in 运算符--相对key 而言的
# 先看看字典有什么
print(type(dict1), dict1)
print("'python' in dict1--->", 'python' in dict1)
print("'c' in dict1--->", 'c' in dict1)

输出结果:

<class 'dict'> {'c': 'hu', 'd': 0, 'C': 'C语言'}
'python' in dict1---> False
'c' in dict1---> True

# clear() 用于清空字典中所有的 key-value 对,
# 对一个字典执行 clear() 方法之后,该字典就会变成一个空字典。
print(type(dict1), dict1)
dict1.clear()
print(type(dict1), dict1)

输出结果:

<class 'dict'> {'c': 'hu', 'd': 0, 'C': 'C语言'}
<class 'dict'> {}

# 例子被清空了,那么我们在创建字典
# 1
dict1 = {'语文': 89, '数学': 92, '英语': 93}
print(type(dict1), dict1)
# 2
dict2 = {}
print(type(dict2), dict2)
# 3
dict3 = dict()
print(type(dict3), dict3)
# 4
cars = [['BMW', 8.5], ['BENS', 8.3], ['AUDI', 7.9]]
dict4 = dict(cars)
print(type(dict4), dict4)
# 5
vegetables = [('celery', 1.58), ('brocoli', 1.29), ('lettuce', 2.19)]
dict5 = dict(vegetables)
print(type(dict5), dict5)
# 6
# 使用关键字参数来创建字典
dict6 = dict(spinach=1.39, cabbage=2.59)
print(type(dict6), dict6)
# 7
# 使用元组作为dict的key
dict7 = {(20, 30): 'good', 30: 'bad'}
print(type(dict7), dict7)

知道上面创建的都是字典就对了,不用看结果

输出结果:

<class 'dict'> {'语文': 89, '数学': 92, '英语': 93}
<class 'dict'> {}
<class 'dict'> {}
<class 'dict'> {'BMW': 8.5, 'BENS': 8.3, 'AUDI': 7.9}
<class 'dict'> {'celery': 1.58, 'brocoli': 1.29, 'lettuce': 2.19}
<class 'dict'> {'spinach': 1.39, 'cabbage': 2.59}
<class 'dict'> {(20, 30): 'good', 30: 'bad'}

# 注意使用get方法获取字典值和[] 获取字典值的区别
# get方法获取字典值,尽管没有,不会报错,但是[] 会报错
print(type(dict4), dict4)
print(dict4.get('BMW'))  # 8.5
print(dict4.get('PORSCHE'))  # None
# print(dict4['PORSCHE'])  # KeyError

输出结果:

<class 'dict'> {'BMW': 8.5, 'BENS': 8.3, 'AUDI': 7.9}
8.5
None

print(type(dict4.items()), dict4.items())
print(type(dict4.keys()), dict4.keys())
print(type(dict4.values()), dict4.values())

输出结果:

<class 'dict_items'> dict_items([('BMW', 8.5), ('BENS', 8.3), ('AUDI', 7.9)])
<class 'dict_keys'> dict_keys(['BMW', 'BENS', 'AUDI'])
<class 'dict_values'> dict_values([8.5, 8.3, 7.9])

for i in dict4.items():
    print(type(i), i)
    print(type(i[0]), i[0])
    print(type(i[1]), i[1])

自己灵活点,自己根据类型判断算了

输出结果:

<class 'tuple'> ('BMW', 8.5)
<class 'str'> BMW
<class 'float'> 8.5
<class 'tuple'> ('BENS', 8.3)
<class 'str'> BENS
<class 'float'> 8.3
<class 'tuple'> ('AUDI', 7.9)
<class 'str'> AUDI
<class 'float'> 7.9

这里我参考了C语言中文网

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值