一、什么是字典?
1、Python字典是一种可变容器,用于存储的值是键-值对(key-value pairs)。点方括号({})被用来创建字典。
#创建一个空字典 my_dict = {} #创建字典并提供键-值对 my_dict = {'one':1,'two':2,'three':3} #创建字典并使用关键字参数 my_dict = dict(one=1,two=2,three=3)
2、字典中的键必须是可哈希的(immutable)类型,这意味着它们不能被更改,而值有任意类型。例如,数字,字符串,元组等都是不可变的。列表, 字典,和集合是可变的。
3、字典是动态的,这意味着你可以添加,修改或删除元素。
二、添加元素
1、字典是动态的,这意味着你可以添加元素。你可以用下标符号添加一个键 - 值对:
my_dict = {'one':1,'two':2,'three':3} #添加元素 my_dict['four'] = 4 #输出字典 print(my_dict)
2、你还可以使用字典方法setdefault创建一个新键值对。这种方法允许你向字典添加一个新元素,只有当该元素拥有唯一名称时才会向它添加值。
# 创建一个空字典 my_dict = {} #使用setdefault添加元素 my_dict.setdefault('one', []).append(1) my_dict.setdefault('one', []).append(2) my_dict.setdefault('two', []).append(3) #打印字典 print(my_dict)
三、访问元素
1、你可以通过指定键名称获取它的值:
my_dict = {'one':1,'two':2,'three':3} #访问元素 print(my_dict['one'])
2、如果你想要获取一个不在字典中的键的值,可以使用字典中的方法get。get方法有两个参数,第一个是键,第二个是默认值,如果该键不存在,则返回默认值。
my_dict = {'one':1,'two':2,'three':3} #访问元素 print(my_dict.get('four', 'Not Found'))
四、删除元素
1、可以使用del语句从字典中删除一个键-值对:
my_dict = {'one':1,'two':2,'three':3} #删除元素 del my_dict['two'] #打印字典 print(my_dict)
2、pop方法用于删除一个指定的键,并返回它的值:
my_dict = {'one':1,'two':2,'three':3} #Pop元素 my_dict.pop('two') #打印字典 print(my_dict)
五、迭代字典
你可以使用for循环遍历Python字典。字典的默认行为是迭代键(keys),但是它们也可以通过使用“items()”方法迭代为键-值对:
my_dict = {'one':1,'two':2,'three':3} # 迭代字典keys for key in my_dict: print(key) # 迭代字典值 for value in my_dict.values(): print(value) # 迭代字典键-值对 for key, value in my_dict.items(): print(key, value)
六、合并两个字典
1、使用update方法将两个字典合并成一个字典:
dict1 = {'one':1,'two':2} dict2 = {'three':3,'four':4} #合并两个字典 dict1.update(dict2) #打印字典 print("Updated dictionary : ", dict1)
2、两个字典也可以通过将它们传递给内置函数dict()来合并:
dict1 = {'one':1,'two':2} dict2 = {'three':3,'four':4} #合并两个字典 dict3 = dict(dict1.items() + dict2.items()) #打印字典 print(dict3)
七、排序一个字典
1、字典是无序的,因为它们基于散列表实现。然而,你可以按键或值对字典进行排序。如果你要按键排序,可以使用内置的sorted函数并将键迭代到它上:
my_dict = {'one':1,'three':3,'two':2} #按键排序 for key in sorted(my_dict): print("%s: %s" % (key, my_dict[key]))
2、如果你要按值排序,可以使用lambda函数:
my_dict = {'one':1,'three':3,'two':2} #按值排序 for key, value in sorted(my_dict.items(), key=lambda x: x[1]): print("%s: %s" % (key, value))
八、结语
Python字典是处理和管理数据的强大工具。你可以很容易地使用键-值对将数据组织成易于访问和使用的方式。它们是动态的,可以通过多种方式操作,如添加,删除和合并字典。同时,你可以迭代字典,按键或值排序。