美文网首页
Python(三)字典操作

Python(三)字典操作

作者: iYeso | 来源:发表于2017-07-26 00:03 被阅读43次

一: 字典

  • 1: 字典和列表一样, 能够存储多个数据
  • 2: 列表根据下标对元素处理, 但是字典是根据"key"键值对处理
  • 3: 字典是以键值对的方式处理

#######1.1: 字典访问
########1.1.1: 字典根据 键(Key) 来获取 值(Value)操作

info = {"name":"班长", "id":100, "sex":"male"}
print(info["name"])
print(info["id"])
print(info["sex"])

Success!
班长
100
male

########1.1.2: 如果字典中 没有相应的Key

info = {"name":"班长", "id":100, "sex":"male"}
print(info["name"])
print(info["sexs"])

Error!
班长
Traceback (most recent call last):
  File "4.py", line 6, in <module>
    print(info["sexs"])
KeyError: 'sexs'

########1.1.3: 在我们不确定字典中是否存在某个键但是想获取取值时,可以使用get方法, 还可以设置默认值:

info = {"name":"班长", "id":100, "sex":"male"}
age = info.get("age")
print(type(age)) #如果age不存在 所以age为none
age = info.get("age", 19)
print(age)

<type 'NoneType'>
19

#######1.2: 修改元素
字典的每个元素的数据都可以修改, 只要通过key找到, 就可以修改

根据字典的key修改数据
info = {"name":"班长", "id":100, "sex":"male"}
info["name"] = 123
print(info["name"])

123

#######1.3: 添加元素

<a:> 访问不存在的元素, 默认方法会崩溃

info = {"name":"班长", "id":100, "sex":"male"}
print(info["age"])

Traceback (most recent call last):
  File "4.py", line 4, in <module>
    print(info["age"])
KeyError: 'age'

<b:> 如果使用 **变量名[] = 数据时, 这个键在字典中, 存在就修改, 不存在就增加这个元素

info = {"name":"up_tech", "id":100, "sex":"male"}
info["age"] = 12
print(info)

{'age': 12, 'sex': 'male', 'name': 'up_tech', 'id': 100}

#######1.4: 删除元素

  • 1: del 删除指定的元素
  • 2: clear()

<a:> del删除字典某个元素

info = {"name":"zhu", "age":"18", "sex":"male"}
print(info)
del info["name"]
print(info)

{'age': '18', 'name': 'zhu', 'sex': 'male'}
{'age': '18', 'sex': 'male'}

<b:> del删除字典多个元素

info = {"name":"zhu", "age":"18", "sex":"male"}
print(info)
del info["name"], info["age"]
print(info)

{'age': '18', 'name': 'zhu', 'sex': 'male'}
{'sex': 'male'}

<c:> clear清空整个字典

info = {"name":"zhu", "age":"18", "sex":"male"}
print(info)
info.clear()
print(info)

{'age': '18', 'name': 'zhu', 'sex': 'male'}
{}

#######1.5: 字典的常见操作
#########1.5.1: 字典的键值对的个数

info = {"name":"zhu", "age":"18", "sex":"male"}
print(len(info))

3

#########1.5.2: 返回一个包含字典所有Key的列表

info = {"name":"zhu", "age":"18", "sex":"male"}
print(info.keys())

['age', 'name', 'sex']

#########1.5.3: 返回一个包含字典所有Value的列表

info = {"name":"zhu", "age":"18", "sex":"male"}
print(info.values())

['18', 'zhu', 'male']

#########1.5.4: 返回一个包含所有(键, 值) 元组的列表

info = {"name":"zhu", "age":"18", "sex":"male"}
print(info.items())

[('age', '18'), ('name', 'zhu'), ('sex', 'male')]

#########1.5.5: has_key("key"), 如果key在字典中,返回True, 否则返回False

info = {"name":"zhu", "age":"18", "sex":"male"}
print(info.has_key("name"))
print(info.has_key("namex"))

True
False

#######1.6: 字典的遍历
通过for...in.. 的语法结构, 我们可以遍历字符串, 列表, 元组, 字典d等

#########1.6.1: 遍历字典的key(键)

<a: 方法一>
info = {"name":"zhu", "age":"18", "sex":"male"}
for key in info:
    print(key)
age
name
sex

<b: 方法二>
info = {"name":"zhu", "age":"18", "sex":"male"}
for key in info.keys():
    print(key)

age
name
sex

#########1.6.2: 遍历字典的value(值)

info = {"name":"zhu", "age":"18", "sex":"male"}
for value in info.values():
    print(value)

18
zhu
male

#########1.6.3: 遍历字典的项(元素)

<a: 遍历字典的项(元素)  方法一>
info = {"name":"zhu", "age":"18", "sex":"male"}
for item in info.items():
    print(item)

('age', '18')
('name', 'zhu')
('sex', 'male')


<b: 遍历字典的项(元素)  方法二>
info = {"name":"zhu", "age":"18", "sex":"male"}
for key,value in info.items():
    print(key, value)

('age', '18')
('name', 'zhu')
('sex', 'male')

<c: 遍历字典的项(元素)  方法三>
info = {"name":"zhu", "age":"18", "sex":"male"}
for (index, key) in enumerate(info):
    print(index, key, info[key])

(0, 'age', '18')
(1, 'name', 'zhu')
(2, 'sex', 'male')

相关文章

网友评论

      本文标题:Python(三)字典操作

      本文链接:https://www.haomeiwen.com/subject/zbtnkxtx.html