python做演算法oj常用方法總結?
阿新 • • 發佈:2020-12-31
python做演算法oj常用方法
python做oj的好處就只要一份就出來了,改一下引數就可以避免查重,這個不是重點,重點是記錄一下這些方法,以便下次能用。
1.獲取從鍵盤一行輸入兩個資料分別賦值,並以空格為分隔符。
a,b=map(int, input ().split())
print(a)
print(b)
效果:
2.獲取從鍵盤輸入一行資料,並以空格為分隔符。
import sys
M = sys.stdin.readline().strip()
b = list(map(int, M.split())) #int控制儲存的格式
print(b)
效果:
3.獲取從鍵盤輸入指定行數資料。
import sys
n=int(input()) #指輸入的行數
c=[] #儲存多行資料
for i in range(0,n):
M = sys.stdin.readline( ).strip()
b = list(map(int, M.split())) #int控制儲存的格式
c.append(b)
print(c)
效果:
4.將列表中的元素反向。
a=[2,3,4]
a.reverse()
print(a)
效果:
5.將列表自動排序。
a=[3,5,2,40,6]
a.sort(reverse=False) #預設為False
print(a)
a.sort(reverse=True)
print(a)
效果:
6.排序多維列表。
a = [['1', '15', '8'], ['1', '14', '2'], ['1' , '15', '9']]
a = sorted(a, key=(lambda x: [x[2]]))
# x[2]根據第三個數來排序從小到大排序,reverse引數修改為True,從大到小排序
print(a)
a = sorted(a, key=(lambda x: [x[0], x[1], x[2]]),reverse=True)
#首先根據第一行來排序,如果第一個相等,然後根據第二個來排序,依次類推
print(a)
效果:
7.設定全域性變數。
def a():
global num
num+=1
return num
num=1
print(a())
效果:
8.列表去重。
a=[2,3,2,2]
a=list(set(a))
print(a)
效果:
9.定義一維列表和二維列表。
a=[[0] * (5) for i in range(5)]
print(a)
b=[0]*5
print(b)
效果:
持續補充中。。。。。。