重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Python使用过程随记~
创新互联长期为数千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为海南企业提供专业的成都做网站、成都网站建设,海南网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。
sort()函数与sorted()函数的区别:
sort是list的方法,而sorted可以对所有可迭代对象进行排序(字典,元组等);
sort方法返回的是对已经存在的列表进行操作,会改变原有列表的值;而sorted是新建一个新的list,不改变原有的值。
一.list sort()方法
语法:
key:主要是用来比较的参数,指定对象中的一个对象用来进行排序。
reserve:默认值为reserve=False升序,reserve=True降序。
无返回值,通常如下:
指定列表中的元素排序来输出:
二.sorted
语法:
iterable:可迭代对象
key:主要是用来比较的参数,指定对象中的一个对象用来进行排序。
reserve:默认值为reserve=False升序,reserve=True降序。
利用key进行倒序排序:
或者通过reserve参数,与sort()函数一致。
若列表内元素为字典/元组,还可以通过key指定来排序:
1、首先我们定义一个列表输入一串大小不一的数字。
2、可以用sort()方法对定义的列表排序,注意,sort只是对列表排序,它没有返回一个值。
3、输入print列表名即可得到排序后的列表数据。
4、倒序可以用这个reverse方法,把元素位置倒转过来。
5、然后再次print列表名,这样就会得到倒转顺序之后的列表数据。
5、如图两相对比即实现了从高到低和从低到高排序。
#encoding=utf-8
def getRows():
names = ["A", "B"]
rows = [
[1, 'm'],
[2, 'm'],
[3, 'q'],
[3, 'q'],
[2, 'q'],
[1, 's'],
[4, 's'],
[2, 's'],
[1, 's'],
[3, 'm']
]
rs = []
for row in rows:
rs.append(dict(zip(names, row)))
return rs
def count():
rs = getRows()
# 取所有B=m的行
rs = [r for r in rs if r["B"] == 'm']
rs = sorted(rs, key=lambda r: r["B"])
# 计算数量
result = {}
for r in rs:
if r["A"] in result:
result[r["A"]] += 1
else:
result[r["A"]] = 1
return result
print count()