python中字典dictionary详解及基本使用

1、dictionary是Python中除了list以外最灵活的数据类型

2、字典同样可以存储多个数据

3、通常用来存储描述某个物体的相关特征

4、和列表的区别

列表是有序的 字典是无须的

5、字典用{}来定义

6、字典用键值对存储数据,键值对之间用英文逗号分隔

  • 键 key是索引
  • 值 vaule是数据
  • 键和值之间使用英文冒号:分隔
  • 键必须是唯一的
  • 值可以是任意数据类型,但是值只能是字符串、数字或元组
# 字典是一个无需的数据集合,print输出字典时通常输出的顺序和定义的顺序是不一致的

xiaoming = {"name":"小明",
            "age":18,
            "height":1.75,
            "weight":111.5}

print(xiaoming)

# 输出结果

{'name': '小明', 'age': 18, 'height': 1.75, 'weight': 111.5}

 7、示例

字典的取值

xiaoming_dict = {"name":"小明"}

# 取值 如果要取值的key不存在则会报错
print(xiaoming_dict["name"])

# 返回结果

小明

字典的新增和修改

xiaoming_dict = {"name":"小明"}

# 如果key不存在,则新增键值对
xiaoming_dict["age"] = 18

# 如果key存在,则修改key对应的value
xiaoming_dict["name"] = "xiaoming"

print(xiaoming_dict)

# 返回结果

{'name': 'xiaoming', 'age': 18}

删除键值对  dist.pop(key)方法指定要删除的键值对的key  如果key不存在则会报错

xiaoming_dict = {"name":"小明",
                          "age":18}

xiaoming_dict.pop("name")

print(xiaoming_dict)

# 返回结果

{'age': 18}

统计键值对的数量---len函数

xiaoming_dict = {"name":"小明",
                 "age":18}

print(len(xiaoming_dict))

# 输出结果

2

合并字典  使用dict.update(dict1)的方法  

注意:如果合并的键值对中包含已有的键值对,会覆盖原有的键值对

xiaoming_dict = {"name":"小明",
                 "age":18}

temp_dict = {"height":1.75,
"age":25}
xiaoming_dict.update(temp_dict) 

print(xiaoming_dict)

# 输出结果 {'name': 'xiaoming', 'age': 25, 'height': 1.75}

情况字典 dict.clear方法

xiaoming_dict = {"name":"小明",
                 "age":18}

xiaoming_dict.clear()

print(xiaoming_dict)

# 返回结果

{}

字典的循环遍历

xiaoming_dict = {"name":"小明",
                 "qq":"123456",
                 "phone":"654321"}

# 这个k指在每一次遍历中获取到的键值对的key
for k in xiaoming_dict:

    print("%s - %s" % (k,xiaoming_dict[k]))

# 输出结果

name - 小明
qq - 123456
phone - 654321
xiaoming_dict1 = {"name":"小明",
                 "age":18,
                 "height":1.75}

# 这个k指在每一次遍历中获取到的键值对的key
for k in xiaoming_dict1:

    print(k,end=":")
    print(xiaoming_dict1[k])


# 输出结果

name:小明
age:18
height:1.75

字典和列表的组合使用

card_list = [{"name":"张三",
              "QQ":"123456",
              "phone":"110"},
             {"name":"李四",
              "QQ":"654321",
              "phone":"10086"}
]

for info_list in card_list:
    print(info_list)

# 输出结果

{'name': '张三', 'QQ': '123456', 'phone': '110'}
{'name': '李四', 'QQ': '654321', 'phone': '10086'}
原文地址:https://www.cnblogs.com/hm-baobao/p/10059025.html