在Python中,字典(dictionary)是一个无序的数据类型,用于存储键值对。字典的键必须是唯一的,而值可以是任何数据类型:数字、字符串、列表、字典等。
下面是一些基本的字典操作:
my_dict = {"key1": "value1", "key2": "value2"}
value = my_dict["key1"] # 返回 "value1"
my_dict["key3"] = "value3"
del my_dict["key2"]
exists = "key1" in my_dict # 返回 True
除了这些基本的操作外,字典还有很多有用的方法,如 get()
、keys()
、values()
和 items()
。
get()
方法用于获取指定键的值,如果键不存在则返回一个默认值。例如:value = my_dict.get("key4", "default value") # 返回 "default value"
keys()
方法返回字典中所有的键。例如:keys = my_dict.keys() # 返回字典中的所有键,如 {"key1", "key3"}
values()
方法返回字典中所有的值。例如:values = my_dict.values() # 返回字典中的所有值,如 ["value1", "value3"]
items()
方法返回字典中所有的键值对。例如:items = my_dict.items() # 返回字典中的所有键值对,如 [("key1", "value1"), ("key3", "value3")]
举例子:斐波那契数列:
cache = {}
def fib(number):
if number in cache:
return cache[number]
if number == 0 or number == 1:
return 1
else:
cache[number] = fib(number - 1) + fib(number - 2)
return cache[number]
if __name__ == '__main__':
# 将前两个斐波那契数(0和1)加入字典
cache[0] = 1
cache[1] = 1
print(fib(10)) # 计算并打印第10个斐波那契数
values = cache.values() # 获取缓存中的所有值
print(cache) # 打印整个缓存字典
print(values) # 打印缓存中的所有值
#89
#{0: 1, 1: 1, 2: 2, 3: 3, 4: 5, 5: 8, 6: 13, 7: 21, 8: 34, 9: 55, 10: 89}
#dict_values([1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89])#dict_values([0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55])