10 個 Python 初學者必知編碼小技巧

2021-09-13 19:42:03 字數 2018 閱讀 8401

技巧 #1

字串翻轉

>>> a = "codementor">>> print "reverse is",a[::-1]翻轉後的結果為 rotnemedoc
技巧 #2矩陣轉置

>>> mat = [[1, 2, 3], [4, 5, 6]]>>> zip(*mat)[(1, 4), (2, 5), (3, 6)]
技巧 #3a = [1,2,3]

將列表中的三個元素分拆成三個變數

>>> a = [1, 2, 3]>>> x, y, z = a>>> x1>>> y2>>> z3
技巧 #4a = ["code", "mentor", "python", "developer"]

將字串列表拼接成乙個字串

>>> print " ".join(a)code mentor python developer
技巧 #5list 1 = ['a', 'b', 'c', 'd']

list 2 = ['p', 'q', 'r', 's']

編寫 python **,實現下面的輸出

>>> for x, y in zip(list1,list2):... print x, y...a pb qc rd s
技巧 #6僅用一行**實現兩個變數的交換

>>> a=7>>> b=5>>> b, a =a, b>>> a5>>> b7
技巧 #7不使用迴圈,輸出 "codecodecodecode mentormentormentormentormentor"

>>> print "code"*4+' '+"mentor"*5codecodecodecode mentormentormentormentormentor
技巧 #8a = [[1, 2], [3, 4], [5, 6]]

不使用迴圈,將其轉變成單個列表

輸出:- [1, 2, 3, 4, 5, 6]

>>> import itertools>>> list(itertools.chain.from_iterable(a))[1, 2, 3, 4, 5, 6]
技巧 #9檢查乙個單詞和另乙個單詞是否只是字母順序不同

def is_anagram(word1, word2): """檢查乙個單詞和另乙個單詞是否只是字母順序不同 word1: string word2: string returns: boolean """
將上面的函式補充完畢,以檢查乙個單詞和另乙個單詞是否只是字母順序不同

from collections import counterdef is_anagram(str1, str2): return counter(str1) == counter(str2)>>> is_anagram('abcd','dbca')true>>> is_anagram('abcd','dbaa')false
技巧 #10從字串輸入中獲取值

對於輸入資料 1 2 3 4 我們希望得到列表 [1, 2, 3, 4] 。

請注意,列表中的元素都是 int 型別,且只能使用一行**。

>>> result = map(lambda x:int(x) ,raw_input().split())1 2 3 4>>> result[1, 2, 3, 4]

10個Python 初學者必知編碼小技巧

a codementor print reverse is a 1 翻轉後的結果為 rotnemedoc ps 很多人在學習python的過程中,往往因為遇問題解決不了或者沒好的教程從而導致自己放棄,為此我整理啦從基礎的python指令碼到web開發 爬蟲 django 資料探勘等 pdf等 需要的...

Oracle初學者必知的100個問題 3

51.如何將小表放入keep池中?alter table storage buffer pool keep 52.如何檢查是否安裝了某個patch?check that orainventory 53.如何使select語句使查詢結果自動生成序號?select rownum,col from tab...

Oracle初學者必知的100個問題 4

71.核心引數的應用?shmmax 含義 這個設定並不決定究竟oracle資料庫或者作業系統使用多少物理記憶體,只決定 了最多可以使用的記憶體數目。這個設定也不影響作業系統的核心資源。設定方法 0.5 物理記憶體 例子 set shmsys shminfo shmmax 10485760 shmmi...