1. 程式人生 > 其它 >python做演算法oj常用方法總結?

python做演算法oj常用方法總結?

技術標籤:筆記python列表演算法

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)

效果:
在這裡插入圖片描述
持續補充中。。。。。。

歡迎補充和沒有考慮到的地方