1. 程式人生 > >python 常用的內建函式sorted、zip、map、eval

python 常用的內建函式sorted、zip、map、eval

____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