字典¶
注解
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值对(key=>value)用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,格式如下所示:
1 | d = {key1 : value1, key2 : value2 }
|
键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
Mixly中有很多用于元组操作的模块,如下:
1.字典初始化¶
1.1 描述¶
在初始化字典时,你需要输入字典和各个键的名称,然后将代表各种数据的模块对应地连接到初始化模块上与键对应的地方,你也可以点击蓝色齿轮增加键值对数量。
在初始化字典后,你可以在”变量”模块分类中根据你输入的字典名称找到代表此字典的模块。
注意
键必须是唯一且不可变的。
1.2 示例¶
源代码:
1 2 mydict= {"Name":"Fred", "Age":18, "Country":"China", "ID":1} print(mydict)输出结果:
{'Name': 'Fred', 'Age': 18, 'Country': 'China', 'ID': 1}
2.字典获取所有键¶
2.2 示例¶
源代码:
1 2 3 4 mydict= {"Name":"Fred", "Age":18, "Country":"China", "ID":1} print(mydict.keys()) print(type(mydict.keys())) print(list(mydict.keys()))输出结果:
dict_keys(['Name', 'Age', 'Country', 'ID']) # 'dict_keys' 类对象 <class 'dict_keys'> # 对象的类别 ['Name', 'Age', 'Country', 'ID'] # 转换为列表后
3.字典获取键值¶
3.2 示例¶
源代码:
1 2 3 mydict= {"Name":"Fred", "Age":18, "Country":"China", "ID":1} print(mydict["Name"]) print(mydict["Age"])输出结果:
Fred 18
4.字典添加或修改键值¶
4.2 示例¶
源代码:
1 2 3 4 5 6 7 mydict= {"Name":"Fred", "Age":18, "Country":"China", "ID":1} print(mydict["Name"]) mydict["Name"] = "Sam" print(mydict["Name"]) mydict["Gender"] = "Male" print(mydict["Gender"]) print(mydict)输出结果:
Fred Sam Male {'Name': 'Sam', 'Age': 18, 'Country': 'China', 'ID': 1, 'Gender': 'Male'}
5.字典删除键值¶
5.2 示例¶
源代码:
1 2 3 4 mydict= {"Name":"Fred", "Age":18, "Country":"China", "ID":1} print(mydict) del mydict["ID"] print(mydict)输出结果:
{'Name': 'Fred', 'Age': 18, 'Country': 'China', 'ID': 1} {'Name': 'Fred', 'Age': 18, 'Country': 'China'}
6.字典删除并返回键值¶
6.2 示例¶
源代码:
1 2 3 mydict= {"Name":"Fred", "Age":18, "Country":"China", "ID":1} print(mydict.pop("ID")) print(mydict)输出结果:
1 {'Name': 'Fred', 'Age': 18, 'Country': 'China'}
7.字典设置键默认值¶
7.1 描述¶
此模块可以为字典中给定的键设定默认值。 若给定的键存在于字典中,则对应的值不会改变; 若给定的键不存在于字典中,则键值对将会被添加到字典中,且键值为所给的默认值。
注意
此模块没有返回值。
7.2 示例¶
源代码:
1 2 3 4 5 6 7 8 mydict= {"Name":"Fred", "Age":18, "Country":"China", "ID":1} print(mydict) mydict.setdefault("Class",1) print(mydict) mydict= {"Name":"Fred", "Age":18, "Country":"China", "ID":1} print(mydict) mydict.setdefault("ID",0) print(mydict)输出结果:
{'Name': 'Fred', 'Age': 18, 'Country': 'China', 'ID': 1} {'Name': 'Fred', 'Age': 18, 'Country': 'China', 'ID': 1, 'Class': 1} {'Name': 'Fred', 'Age': 18, 'Country': 'China', 'ID': 1} {'Name': 'Fred', 'Age': 18, 'Country': 'China', 'ID': 1}
8.字典清空条目¶
8.2 示例¶
源代码:
1 2 3 4 mydict= {"Name":"Fred", "Age":18, "Country":"China", "ID":1} print(mydict) mydict.clear() print(mydict)输出结果:
{'Name': 'Fred', 'Age': 18, 'Country': 'China', 'ID': 1} {}
9.字典转换为列表¶
9.1 描述¶
此模块可以将字典转换为键值对元组作为元素的 ‘dict_items’ 类对象,你可以将其转换为列表对象。
注意
此模块返回的是一个名叫 ‘dict_items’ 类的对象,你可以将其转换为列表对象。
9.2 示例¶
源代码:
1 2 3 4 5 mydict= {"Name":"Fred", "Age":18, "Country":"China", "ID":1} print(mydict) print(mydict.items()) print(type(mydict.items())) print(list(mydict.items()))输出结果:
{'Name': 'Fred', 'Age': 18, 'Country': 'China', 'ID': 1} dict_items([('Name', 'Fred'), ('Age', 18), ('Country', 'China'), ('ID', 1)]) # 'dict_items' 类对象 <class 'dict_items'> # 'dict_items' 类对象名 [('Name', 'Fred'), ('Age', 18), ('Country', 'China'), ('ID', 1)]
10.字典获取所有键值¶
10.2 示例¶
源代码:
1 2 3 4 5 mydict= {"Name":"Fred", "Age":18, "Country":"China", "ID":1} print(mydict) print(mydict.values()) print(type(mydict.values())) print(list(mydict.values()))输出结果:
{'Name': 'Fred', 'Age': 18, 'Country': 'China', 'ID': 1} dict_values(['Fred', 18, 'China', 1]) # 'dict_values' 类对象 <class 'dict_values'> # 对象的类别 ['Fred', 18, 'China', 1] # 转换为列表后