python 常用的內建函式sorted、zip、map、eval
阿新 • • 發佈:2018-12-11
____tz_zs
sorted
sorted()函式,接收任何可迭代物件,返回一個排序後的新物件。
l1 = [2, 4, 3, 1, "6", "a", 5, 9, 7] new_l1 = sorted(l1) print(new_l1) # [1, 2, 3, 4, 5, 7, 9, '6', 'a'] # sorted()函式可對任意可迭代物件進行排序 l3 = ['a', 'A', 'b', 'B', 'c', 'C'] new_l3 = sorted(l3) print(new_l3) # ['A', 'B', 'C', 'a', 'b', 'c'] # key引數的值是一個函式,他對list中的每個原始執行操作後作為排序依據。 new_list1 = sorted(l1, key=lambda x: x * -1) print(new_list1) l4 = [['aa', 2], ['bb', 1], ['cc', 3]] new_l4 = sorted(l4, key=lambda x: x[1]) print(new_l4) # [['bb', 1], ['aa', 2], ['cc', 3]]
zip
zip() 函式傳入可迭代的物件,將物件中的元素打包成一個個元組,然後返回由這些元組組成的列表。 如果可迭代物件的元素個數不一樣,則返回列表長度與最短的物件相同。
#!/usr/bin/python2.7 # -*- coding:utf-8 -*- """ @author: tz_zs """ l1 = [2, 4, 3, 1, "6", "a", 5, 9, 7] l2 = [22, 44, 33, '11', 66, 'aa', '55'] # zip() result = zip(l1, l2) print(result) # [(2, 22), (4, 44), (3, 33), (1, '11'), ('6', 66), ('a', 'aa'), (5, '55')]
map
map()函式接收兩個引數,第一個引數是函式function,第二個是序列sequence。map將傳入的函式依次作用到序列的每個元素,並把結果作為新的list返回。
#!/usr/bin/python2.7
# -*- coding:utf-8 -*-
result = map(lambda x: x * x, [1, 2, 3])
print(result)
# [1, 4, 9]
eval
eval(source, globals=None, locals=None) eval() 函式用來執行一個字串表示式,並返回表示式的值。
#!/usr/bin/python2.7 # -*- coding:utf-8 -*- x = 3 result = eval('4*x') print(result) # 12 result = eval('x**3') print(result) # 27 result = eval('3+3') print(result) # 6 result = eval('x*x') print(result) # 9