📅  最后修改于: 2020-05-04 12:00:18             🧑  作者: Mango
Python是一种这样的编程语言,它使一切变得简单而直接。任何精通Python竞争编码的人都会对它的许多功能沉迷。下面列出了一些我发现的很酷的功能,它们在竞争性编码环境中最有用。
# 使用most_common查找前3个元素及其计数的代码
from collections import Counter
arr = [1, 3, 4, 1, 2, 1, 1, 3, 4, 3, 5, 1, 2, 5, 3, 4, 5]
counter = Counter(arr)
top_three = counter.most_common(3)
print(top_three)
输出:
[(1, 5), (3, 4), (4, 3)]
输出元组清楚地指出1已发生5次,3已发生4次,4已发生3次。
# Python代码查找列表中3个最大和4个最小的元素.
import heapq
grades = [110, 25, 38, 49, 20, 95, 33, 87, 80, 90]
print(heapq.nlargest(3, grades))
print(heapq.nsmallest(4, grades))
输出:
[110、95、90]
[20、25、33、38]
输出的第一行给出列表等级中存在的最大数字中的3个。同样,输出的第二行将打印出列表等级中存在的最小元素中的4个。此函数的另一个特点是它不会忽略重复。因此,如果要放置数组的长度来代替n,我们将得到整个排序后的数组本身!
# 演示zip用法的Python代码.
import heapq
stocks = {
'Goog' : 520.54,
'FB' : 76.45,
'yhoo' : 39.28,
'AMZN' : 306.21,
'APPL' : 99.76
}
zipped_1 = zip(stocks.values(), stocks.keys())
# 根据值排序
print(sorted(zipped_1))
zipped_2 = zip(stocks.keys(), stocks.values())
print(sorted(zipped_2))
# 按键排序
输出:
[(39.28, 'yhoo'), (76.45, 'FB'), (99.76, 'APPL'), (306.21, 'AMZN'), (520.54, 'Goog')]
[('AMZN', 306.21), ('APPL', 99.76), ('FB', 76.45), ('Goog', 520.54), ('yhoo', 39.28)]
# 将代码应用于列表的Python代码
income = [10, 30, 75]
def double_money(dollars):
return dollars * 2
new_income = list(map(double_money, income))
print(new_income)
输出:
[20、60、150]
在这里,我们只是实现了一个简单的函数,该函数将每个列表值乘以2,然后将其作为新列表返回。