默认教学计划
929人加入学习
(28人评价)
Python 基础
价格 ¥ 299.00
该课程属于 高校公益行 | 网络安全实践训练营 请加入后再学习

字典的操作

 

lambda

形如以下的函数

def  get_value(_key): return    Q[_key] 

需要按标fname或者uid排序排列时 sorted()

 

from  operator import inemgetter

from iterator import 

在Python 2.x中最后的print()需要写成print ''

[展开全文]

>>> Quentities = {'toast': 45,'muffin': 23,'ham': 78,'spam': 56,'eggs': 89}
>>> sorted(zip(Quentities.values(),Quentities.keys()))
[(23, 'muffin'), (45, 'toast'), (56, 'spam'), (78, 'ham'), (89, 'eggs')]
>>> max(Quentities,key=lambda k: Quentities[k])
'eggs'
>>> min(Quentities,key=lambda k: Quentities[k])
'muffin’

关于lambda,你可以把这个当成如下函数:
>>> def get_count(k):
... return Quentities[k]
...
>>> min(Quentities,key=get_count)
'muffin'

按fname或者uid排序时需要operator模块里的itemgetter函数

>>> from operator import itemgetter

按lname和fname的顺序排列时:
>>> rows_by_lfname = sorted(rows, key=itemgetter('lname','fname'))
>>> print(rows_by_lfname)
[{'lname': 'Beazley', 'uid': 1002, 'fname': 'David'},
{'lname': 'Cleese', 'uid': 1001, 'fname': 'John'},
{'lname': 'Jones', 'uid': 1004, 'fname': 'Big'},
{'lname': 'Jones', 'uid': 1003, 'fname': 'Brian'}]

通过某个字段将记录分组

>>> from operator import itemgetter
>>> from itertools import groupby
>>> rows.sort(key=itemgetter('date'))
>>> for date, items in groupby(rows, key=itemgetter('date')):
... print(date)
... for i in items:
... print(' ', i)

 

[展开全文]

字典操作:字典列表的排序:需要按fname或者uid排序时需要operator模块里的itemgetter函数  需要按Iname和fname的顺序排列

 

[展开全文]

=====字典
infor = {key:value,key2:value2}
#用键值对方式存储
infor={'name':'班长','addr':'北京','age':'18'}
print('%s %s %d'%(infor['name'],infor['addr'],infor['age']))
==字典中添加键值对
infor['newKey']=newValue
#在原key不存在的情况下,为添加,否则为修改
==字典中删除键值对
del infor['key']
#不存在就报错
#如果不确定该键值对是否存在
#使用
infor.get('key') #不存在就不显示信息,存在就显示值
.get()也是查询

list.items()取出的是一个元组
('key','value')
('key1','value1')

对于元组,可以使用分配赋值的方式
a,b=list.items()
a=key
b=value

 
==for循环中可以使用else
for temp in list:
else:
    代码……
#else中的代码一定会执行
#可以在for中使用break 直接结束for循环则else中的代码不会执行

[展开全文]

              字典(下)

一、字典的比较:

    (1)、比较值,但返回对应的键:

 max{list,key=lambda x: list[x]} #找最大值对应的键。

二、字典列表的排序:

 from operator import itemgetter

 sorted(list,key=itemgetter('键1','键2'...)) #通过键对应的值来排序,也可以用多个键

三、通过某个字段将记录分组:

 from operator import itemgetter

 from itertools import groupby    #分组

 list.sort(key=itemgetter('键'))  #排序

 groupby(list,key=itemgetter('c'))#分组

 打印举例:

for c,dict_list in groupby(list,key=itemgetter('c')):

  print(c)

  for _dict in dict_list:

     print(_dict)

 

 

[展开全文]