____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() 函数可对任意可迭代对象进行排序
# sorted()函数可对任意可迭代对象进行排序
l3 = ['a', 'A', 'b', 'B', 'c', 'C']
new_l3 = sorted(l3)
print(new_l3)
# ['A', 'B', 'C', 'a', 'b', 'c']
- reverse 参数默认为 False,表示正序排序。
res2 = sorted([11, -13, 56, 22, 653, 456, 0, -2], reverse=True) # 倒序
print(res2) # [653, 456, 56, 22, 11, 0, -2, -13]
- key 参数的值是一个函数,他对 list 中的每个原始执行操作后作为排序依据。
# 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]]
res3 = sorted([11, -13, 56, 22, 653, 456, 0, -2], key=abs) # 绝对值
print(res3) # [0, -2, 11, -13, 22, 56, 456, 653]
res4 = sorted(["acd", "Abc", "cdd", "aaaaa", "aA"])
print(res4) # ['Abc', 'aA', 'aaaaa', 'acd', 'cdd']
res5 = sorted(["acd", "Abc", "cdd", "aaaaa", "aA"], key=str.lower) # 字符串大小写
print(res5) # ['aA', 'aaaaa', 'Abc', 'acd', 'cdd']
# 用于字典排序
m_dict = {"1": [2, 5], "2": [3, 1], "3": [1, 3], "4": [5, 4], "5": [4, 2], }
# 对于字典通过字典的key排序
sort_by_k = sorted(m_dict.items(), key=lambda kv: kv[0])
print(sort_by_k)
# 对于字典通过字典的value排序
sort_by_v0 = sorted(m_dict.items(), key=lambda kv: kv[1][0])
print(sort_by_v0)
sort_by_v1 = sorted(m_dict.items(), key=lambda kv: kv[1][1])
print(sort_by_v1)
"""
[('1', [2, 5]), ('2', [3, 1]), ('3', [1, 3]), ('4', [5, 4]), ('5', [4, 2])]
[('3', [1, 3]), ('1', [2, 5]), ('2', [3, 1]), ('5', [4, 2]), ('4', [5, 4])]
[('2', [3, 1]), ('5', [4, 2]), ('3', [1, 3]), ('4', [5, 4]), ('1', [2, 5])]
"""
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')]
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
enumerate
enumerate()函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合转换为一个索引序列,一般用于for循环中,同时列出元素和元素的索引号。
my_list = ['a', 'b', 'c', 'd']
for i, x in enumerate(my_list):
print i, x
'''
0 a
1 b
2 c
3 d
'''
for i, x in enumerate(my_list):
print i, my_list[i]
'''
0 a
1 b
2 c
3 d
'''
for item in enumerate(my_list):
print item
'''
(0, 'a')
(1, 'b')
(2, 'c')
(3, 'd')
'''
.