02字典

简介

字典是python中的一种数据结构,将它看做一个键:值对的集合

1.字典的定义 

>>> xiaoming={'username': 'xiaoming', 'age': 30, 'work': 'testing', 'hobby': ['sports', 'movie']}

  字典是没有顺序的,不支持索引,切片和步长的操作:

  访问字典中的某个字段值,通常使用[key]方式进行访问:

>>> xiaoming['username']  #通过key值访问value

2.常用方法

  添加

>>> xiaoming={'username': 'xiaoming', 'age': 30, 'work': 'testing', 'hobby': ['sports', 'movie']}
#新增
>>> xiaoming['salary']=5000
{'username': 'xiaoming', 'age': 30, 'work': 'testing', 'hobby': ['sports', 'movie'], 'salary': 5000}

  修改

xiaoming['age']=25
>>> xiaoming  #输入结果
{'username': 'xiaoming', 'age': 25, 'work': 'testing', 'hobby': ['sports', 'movie'], 'salary': 5000}

  删除

  pop删除指定字段

>>> xiaoming.pop('age')
25
>>> xiaoming
{'username': 'xiaoming', 'work': 'testing', 'hobby': ['sports', 'movie'], 'salary': 5000}

  popitem删除最后一个字段

>>> xiaoming.popitem()
('salary', 5000)
>>> xiaoming
{'username': 'xiaoming', 'work': 'testing', 'hobby': ['sports', 'movie']}

  update更新或者新增字段

>>> xiaoming.update(age=20)
>>> xiaoming
{'username': 'xiaoming', 'age': 20, 'work': 'testing', 'hobby': ['sports', 'movie']}

3.查找

  key值在字典中存在

>>> xiaoming
{'username': 'xiaoming', 'work': 'testing', 'hobby': ['sports', 'movie']}
>>> 'testing' in xiaoming  #标准用法
False

  get(k)

>> xiaoming.get('work')
'testing'

  通过k获取value

>>> xiaoming['username']
'xiaoming'

  keys获取所有的key,生成一个列表

>>> xiaoming.keys()
dict_keys(['username', 'age', 'work', 'hobby'])

  values获取所有的value,生成一个列表

>>> xiaoming.values()
dict_values(['xiaoming', 30, 'testing', ['sports', 'movie']])

 

>>> xiaoming.update(sex='男')  #新增字段
>>> xiaoming
{'username': 'xiaoming', 'age': 20, 'work': 'testing', 'hobby': ['sports', 'movie'], 'sex': '男'}

  items()把字典转换成列表

>>> xiaoming.items()
dict_items([('username', 'xiaoming'), ('age', 20), ('work', 'testing'), ('hobby', ['sports', 'movie']), ('sex', '男')])

  clear()       清空列表                                                                                                                                     

>>> xiaoming.clear()
>>> xiaoming
{}

 5.循环字典

方法1:

for k in xiaoming:
    print(k,xiaoming[k])

  #输出结果

username xiaoming
age 25
work testing
hobby ['sports', 'movie']
salary 5000

方法2:

for k,v in xiaoming.items():
    print(k,v)

  #输出结果

username xiaoming
age 30
work testing
hobby ['sports', 'movie']
salary 5000

①方法1的效率比方法2的效率高很多

②方法1是直接通过key取value

③方法2是先把字典转换成一个列表,再去取值

④当数据量比较大的时候,用第二种方法时,字典转换成列表的这个过程需要花大量的时间老转换,当然数据量不大,没有关系,效率差不多

 

 

 

 

  

 

 

 

 

 

 

 

 

 

  

posted @ 2020-11-05 11:58  haoaixiao  阅读(80)  评论(0编辑  收藏  举报