一位學習Python的程序猿曾經跟我吐槽說Python難就難在如何才能更Pythonic如何才能更優
雅,那今天小編為大家帶來一篇有關Python技巧的文章,可以幫助你編寫優雅的Python3代碼!
iterable技巧
▍1、創建一個數字序列(從0到10,間隔為2)
>>> range(0,10,2)
[0, 2, 4, 6, 8]
▍2、對一串數字求和(從0到10,間隔為2)
>>> l = range(0,10,2)
>>> sum(l)
20
▍3、檢查序列中的任一元素是否為True
>>> any(a % 2 for a in range(0,10,2))
True
▍4、檢查序列中的所有元素是否為True
>>> all(a % 2 for a in range(0,10,2))
True
▍5、累計求和一串數字序列
>>> import numpy as np
>>> res = list(np.cumsum(range(0,10,2)))
>>> res
[ 0, 2, 6, 12, 20]
▍6、給定每個iterable,通過添加索引來構造一個元組
>>> a = ['Hello', 'world', '!']
>>> list(enumerate(a))
[(0, 'Hello'), (1, 'world'), (2, '!')]
▍7、將iterable連接到單個字符串
>>> a = ["python","really", "rocks"]
>>> " ".join(a)
'python really rocks'
▍8、組合兩個可迭代的元組或pivot嵌套的iterables
# Combining two iterables
>>> a = [1, 2, 3]
>>> b = ['a', 'b', 'c']
>>> z = zip(a, b)
>>> z
[(1, 'a'), (2, 'b'), (3, 'c')]
# Pivoting list of tuples
>>> zip(*z)
[(1, 2, 3), ('a', 'b', 'c')]
▍9、從iterables中獲取最小值/最大值(具有/不具有特定功能)
# Getting maximum from iterable
>>> a = [1, 2, -3]
>>> max(a)
2
# Getting maximum from iterable
>>> min(a)
1
# Bot min/max has key value to allow to get maximum by appliing function
>>> max(a,key=abs)
3
▍10、可迭代排序(可以通過“compare”函數排序)
>>> a = [1, 2, -3]
>>> sorted(a)
[-3, 1, 2]
>>> sorted(a,key=abs)
[1, 2, -3]
▍11、將單個字符串拆分為列表
>>> s = "a,b,c"
>>> s.split(",")
["a", "b", "c"]
▍12、初始化一個包含重複數字的列表
>> [1]* 10
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
▍13、合併/插入兩個字典
>>> a = {"a":1, "b":1}
>>> b = {"b":2, "c":1}
>>> a.update(b)
>>> a
{"a":1, "b":2, "c":1}
▍14、命名和保存iterables切片
# Naming slices (slice(start, end, step))
>>> a = [0, 1, 2, 3, 4, 5]
>>> LASTTHREE = slice(-3, None)
>>> LASTTHREE
slice(-3, None, None)
>>> a[LASTTHREE]
[3, 4, 5]
▍15、在列表中查找項的索引
>>> a = ["foo", "bar", "baz"]
>>> a.index("bar")
1
希望以上15個小貼士對你在今天的學習和工作中有所幫助哦!
另外,還為大家打包了一些我之前收藏的視頻學習資料,都是我自己一點點收集起來的,希望對有興趣學習Python的小夥伴們有幫助。
領取方式:轉發+關注小編 並 私信我“ 資料 ”即可領取!
閱讀更多 北京尚學堂 的文章