Python学习之路-----字典

字典是Python中最灵活的数据类型,同样用来存储多个不同类型的数据。但是它和列表、元组还是有一些本质区别的,而且主要是用来存储有关系的数据

定义及基本特性

1.字典使用键值对来存储数据,相邻的键值对使用逗号分割,最外层使用大括号;

2.键,即key,类似于列表中的索引。值,即value,相当于列表中的元素本身;

3.键与值之间使用:来分割;

4.值可以是任何数据类型,但是键只能是字符串、数字、元组而且必须唯一。

5.字典是无序的。因为字典只能通过键来获得对应的值,因为字典只能通过键来获得对应的值。反过来也就是说当你想获得某个值时,你必须得到 键,已经人为控制了顺序。但是字典本身这种数据类型是无序的。

dic = {"key1":"value1",
        "key2":2,
       "key3":3.3,
       "key4":True}

输出类型及基本的输出操作

1.使用type()获得字典的数据类型;

2.使用print()直接输出字典;

3.使用print()输出指定的键对应的值;

print(dic)  # {'key1': 'value1', 'key2': 2, 'key3': 3.3, 'key4': True}
print(type(dic)) # <class 'dict'>
print(dic["key1"]) # value1

字典的基本操作

1.增加数据

    字典名[键]= 数据    如果键值已经存在,新的值会覆盖原来的值;

2.删除数据

     del 字典名[键]= 数据

     字典.pop(键)    删除诗句并返回

     字典.clear()       清空字典的数据

dict2 = {"name":"zhangsan",
         "age":20,
         "height":1.75,
         "weight":80}
print("dict2:",dict2) # dict2: {'name': 'zhangsan', 'age': 20, 'height': 1.75, 'weight': 80}
dict2["weight"] = 90
print("修改weight后:",dict2) # 修改weight后: {'name': 'zhangsan', 'age': 20, 'height': 1.75, 'weight': 90}
dict2["birth"] = "1993.11.18"
print("增加birth后:",dict2) # 增加birth后:{'name': 'zhangsan', 'age': 20, 'height': 1.75, 'weight': 90, 'birth': '1993.11.18'}
del dict2["birth"]
print("删除birth后:",dict2) # 删除birth后:{'name': 'zhangsan', 'age': 20, 'height': 1.75, 'weight': 90}
result=dict2.pop("height")
print("删除height后:",dict2)# 删除height后:{'name': 'zhangsan', 'age': 20, 'weight': 90}
print("被删除的值是:",result) # 被删除的值是:1.75
  其他方法:

  setdefault(键值对):

dict2.setdefault("age",18)
print("setdefault age=18:",dict2) # setdefault age=18: {'name': 'zhangsan', 'age': 20, 'weight': 90}
dict2.setdefault("age1",66)
print("setdefault age1=66:",dict2)  # setdefault age1=66 {'name': 'zhangsan', 'age': 20, 'weight': 90, 'age1': 66}
print("setdefault的作用:如果要键值存在,什么也不做;如果键值不存在,则将该键与值添加进字典!")

  update(另一个字典):

dict2.update({"name":"new_name","place":"Beijing"})
print(dict2) # {'name': 'new_name', 'age': 20, 'weight': 90, 'age1': 66, 'place': 'Beijing'}
print("A.update(B)的作用:如果B中有与A相同的键,则A中该键值改为B中的键值;如果B中有A不存在的键,则把键值对加入A中!")

字典的专有方法:

1.获得所有的键值;

dict3 = {"name":"lisi","age":25,"birth":"19951118"}
keys = dict3.keys() # dict_keys(['name', 'age', 'birth'])
print(keys)

    注意:获得的是一个视图对象,但是在Python2中获得的是一个列表。视图对象占用空间比列表小。获得的视图对象可以使用for key in XXX 遍历:

2. 获得所有的值

values = dict3.values()

3.获得所有的键值对

items = dict3.items()

   这三个方法获得的都是视图对象,都可以使用循环遍历。下面演示一个items的经典用法:

items = dict3.items()
for item in items:
    print(item)
结果:
('name', 'lisi')
('age', 25)
('birth', '19951118')

遍历item输出的是元组,并且每个元组中有且仅有两个数据。因此,可以利用元组的解包把每一个数据拆开。

items = dict3.items()
for key,value in items:
    print(key)
    print(value)
结果:
name
lisi
age
25
birth
19951118

猜你喜欢

转载自blog.csdn.net/shen_chengfeng/article/details/80574145
今日推荐