添加URL
相关文章推荐
天涯  ·  python提示AttributeError ...·  3 年前    · 
1043605696  ·  Python Traceback ...·  1 年前    · 
crhgxdqw  ·  python排序sorted()与opera ...·  1 年前    · 
crhgxdqw  ·  python排序sorted()与opera ...·  1 年前    · 

1.operator.itemgetter()
operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号。要注意,operator.itemgetter函数获取的不是值,而是定义了一个函数,通过该函数作用到对象上才能获取值。

d = [1,2,3,4]
b = operator.itemgetter(1)
Out[247]: 2
d = [1,2,3,4]
b = operator.itemgetter(1,0)
Out[247]: (2,1)

2.sorted()

sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list

(1) cmp参数
cmp接受一个函数,拿整形举例,形式为:
def f(a,b):
return a-b
如果排序的元素是其他类型的,如果a逻辑小于b,函数返回负数;a逻辑等于b,函数返回0;a逻辑大于b,函数返回正数就行了

(2) key参数
key也是接受一个函数,不同的是,这个函数只接受一个元素,形式如下
def f(a):
return len(a)
key接受的函数返回值,表示此元素的权值,sort将按照权值大小进行排序

(3) reverse参数
接受False 或者True 表示是否逆序

a.对字典进行排序

sorted(count.items(),key=operator.itemgetter(1),reverse=True)

b.对矩阵每行的第二个元素排序

sorted(a,key=operator.itemgetter(1))

c.按照元素长度排序

L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}]
def f(x):
    return len(x)
sort(key=f)
print L

d.按照字典里key为1的值进行排序

L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}]
def f2(a,b):
    return a[1]-b[1]
L.sort(cmp=f2)
print L
Python 中的 operator 模块中的 itemgetter 函数 的作用是获取对象哪些维的数据,参数是表示维的序号。 operator . itemgetter 函数 定义的是一个 函数 ,通过该 函数 作用到对象上才能获取值 下边通过例子来说明此 函数 的具体用法: #!/usr/bin/env python # -*- coding:utf-8 -*- import operator a = [1, 2, ...
operator . itemgetter 函数 operator 模块提供的 itemgetter 函数 用于获取对象的哪些维的数据,参数为一些序号(即需要获取的数据在对象中的序号),下面看例子。 a = [1,2,3] >>> b= operator . itemgetter (1) //定义 函数 b,获取对象的第1个域的值 >>> b(a) >>&...
sort()是 Python 列表的一个内置的 排序 方法,list.sort() 方法 排序 时直接修改原列表,返回None; sorted ()是 Python 内置的一个 排序 函数 ,它会从一个迭代器返回一个排好序的新列表。(注意:即使是不可变的元组也可以进行 排序 ,最后返回 排序 后的列表) 相比于 sort(), sorted () 使用的范围更为广泛,但是如 a = np.random.randint(0, 100, (5, 1, 5)) b = operator . itemgetter (1) # 定义 函数 b,获取对象的第1个域的值 print(a) print(b(a)) [[...
operator 模块中的 itemgetter ()返回一个 函数 !!!通过这个返回的 函数 作用到对象上才能取得其值。它的参数是一些序号。它常常结合 sorted (iterable,key=?,reverse=?)使用。(key是个 函数 )eg:import operator a = [10, 20, 30, 40] #定义 函数 func1, 获取对象的第0个值 func1 = operator .itemg...
转载: operator . itemgetter 函数 operator 模块的 itemgetter 函数 :获取对象的哪些维的数据,参数为序号(即需要获取的数据在对象中的序号)例如: a = [1,2,3] 》b= operator . itemgetter (1) //定义 函数 b,获取对象的第2个值 》 b(a) 2 》b= operator . itemgetter (1,0) //定义 函数 b