一位学习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的小伙伴们有帮助。
领取方式:转发+关注小编 并 私信我“ 资料 ”即可领取!
閱讀更多 北京尚學堂 的文章