程序员必备的Python技巧
我们将介绍一些有用的Python技巧和技巧,这些技巧和技巧在编写竞争编程或为公司编写程序时会非常有用,因为它们可以减少代码并优化执行。
使用模块heapq获取列表中的前n个最大元素
示例
import heapq
marks = [91, 67, 34, 56, 78, 99, 87, 23, 78, 66]
print("Marks = ",marks)
print("Largest =",heapq.nlargest(2, marks))
输出
Marks = [91, 67, 34, 56, 78, 99, 87, 23, 78, 66]
Largest = [99, 91]
使用模块heapq从列表中获取n个最小的元素
示例
import heapq
marks = [91, 67, 34, 56, 78, 99, 87, 23, 78, 66]
print("Marks = ",marks)
print("Smallest =",heapq.nsmallest(2, marks))
输出
Marks = [91, 67, 34, 56, 78, 99, 87, 23, 78, 66]
Smallest = [23, 34]
从列表中创建单个字符串
示例
myList = ['Hello', 'World']
print(" ".join(myList))
输出
Hello World
在一行中分配多个变量
示例
a, b, c = 10, 20, 30
print(a, b, c)
输出
10 20 30
在单行代码中循环遍历列表的元素:列表推导式
示例
myList = [5, 12, 15, 18, 24, 32, 55, 65]
res = [number for number in myList if number % 5 == 0]
print("Displaying numbers divisible by 5 = ",res)
输出
Displaying numbers divisible by 5 = [5, 15, 55, 65]
在原地交换两个数字
示例
a, b = 50, 70
print("Before Swapping = ",a, b)
# swapping
a, b = b, a
print("After Swapping = ",a, b)
输出
Before Swapping = 50 70
After Swapping = 70 50
在一行中反转字符串
示例
# Reverse a string
myStr = "This is it!!!"
print("String = ",myStr)
print("Reversed String = ",myStr[::-1])
输出
String = This is it!!!
Reversed String = !!!ti si sihT
从两个相关序列创建一个字典
示例
# Creating a dictionary from two related sequences
s1 = ('Name', 'EmpId', 'Dept')
r1 = ('Jones', 767, 'Marketing')
print(dict (zip(s1, r1)))
输出
{'Name': 'Jones', 'EmpId': 767, 'Dept': 'Marketing'}
在Python中检查对象
示例
# Inspect an object in Python
myList =[1, 3, 4, 7, 9]
print(dir(myList))
输出
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']