全文共1867字,预计学习时长8分钟编程
图源:unsplash数组
毋庸置疑,Python是现在发展最迅速的编程语言。在咱们的调查中,今年它在在编程语言中的排名再次上升,取代Java成为了第二受欢迎的编程语言(仅次于Rust)。微信
不管是在不一样学科仍是各个行业,Python技能彷佛都成为了“硬通货”。不少人开始了Python语言的学习,朋友圈里的Python培训广告也只增不减。app
若是你已经成为了一名Python初学者,那么恭喜,你正在学习发展最迅速的主要编程语言之一。笔者学习Python已有五年,本文将分享一份简单实用的Python学习技巧和窍门清单,但愿你能更有效地学习Python,充分享受学习过程。less
提示:目前笔者使用的是Python 3.8。若是在给出的示例的实践过程当中遇到任何问题,请先检查本身的Python版本。编程语言
1. 条件返回语句函数
与其:学习
>>>def compare(a,b): ... if a> b: ... return a ... else: ... return b ...
不如将条件直接输入至返回语句中。测试
>>>def compare(a, b): ... return a if a> b else b ...
2. 在列表/多元组中的一行语句中赋予多个变量编码
与其:
>>>arr_list = [1,4,7] >>> a = arr_list[0] >>> b = arr_list[1] >>> c = arr_list[2]
不如在一行语句中进行赋值:
>>>a, b, c = arr_list >>> a 1 >>> b 4 >>> c 7
3. 数值比较
>>>a = 1 >>> b = 3 >>> a == 1 True >>> a == 2 False >>> a == b False >>> a > b False >>> a <= b True >>> if a <= b : ... print('a is less than or equal tob') ... a is less than or equal to b
此方法能够比较两个对象的值。返回对/错。比较可直接被用做if-else语句中的条件。
4. 列表推导式
与其:
>>>arr_list = [1,4,7] >>> result = [] >>> for i in arr_list: ... result.append(i*2) ... >>> result [2, 8, 14]
不如:
>>>result = [x*2 for x in arr_list] >>> result [2, 8, 14]
5. 使用lambda表达式按第二个元素对嵌套数组进行排序
>>>arr_list= [[1,4], [3,3], [5,7]] >>> arr_list.sort(key= lambda x: x[1]) >>> arr_list [[3, 3], [1, 4], [5, 7]]
6. Filter函数、Map函数
与其:
>>>arr_list = [-1, 1, 3, 5] >>> result = [] >>> for i in arr_list: ... if i > 0: ... result.append(i**2) ... >>> result [1, 9, 25]
不如:
>>>result = list(map(lambda x: x**2, filter(lambda x: x > 0, arr_list))) >>> result [1, 9, 25]
此处使用列表推导式会更好。
>>>result = [i**2 for i in arr_list if i > 0] >>> result [1, 9, 25]
7. 检查列表中元素是否惟一
图源:unsplash
使用set函数从列表中删除重复的元素,而后测试列表和set的长度是否相等:
>>>arr_list = [1,4,4,6,9] >>> len(arr_list) == len(set(arr_list)) False
8. 使用zip函数比较两个列表中的元素
与其:
>>>a = [1,5,8] >>> b = [3,4,7] >>> result = [] >>> for i in range(len(a)): ... result.append(a[i] if a[i]<b[i] else b[i]) ... >>> result [1, 4, 7]
不如:
>>>result = [min(i) for i in zip(a,b)] >>> result [1, 4, 7]
9. 字符串格式化
Python3.6及更旧版本:
>>>a, b, c = 1,5,9 >>> print('a is {}; b is {}; c is {}'.format(a,b,c)) a is 1; b is 5; c is 9
Python3.6及更新版本:
>>>print(f'a is {a}; b is {b}; c is {c}') a is 1; b is 5; c is 9
10. Enumerate函数
与其:
>>>arr_list = [1, 5, 9] >>> for i in range(len(arr_list)): ... print(f'Index: {i}; Value:{arr_list[i]}') ... Index: 0; Value: 1 Index: 1; Value: 5 Index: 2; Value: 9
不如:
>>>for i, j in enumerate(arr_list): ... print(f'Index: {i}; Value: {j}') ... Index: 0; Value: 1 Index: 1; Value: 5 Index: 2; Value: 9
11. 形式组合和排列
>>>str_list = ['A', 'C', 'F'] >>> list(itertools.combinations(str_list,2)) [('A', 'C'), ('A', 'F'), ('C', 'F')] >>> list(itertools.permutations(str_list,2)) [('A', 'C'), ('A', 'F'), ('C', 'A'), ('C', 'F'), ('F', 'A'), ('F', 'C')]
12. 获取数组的特定部分
>>>arr_list = [1,4,6,8,10,11] >>> a, *b, c = arr_list >>> a 1 >>> b [4, 6, 8, 10] >>> c 11
图源:unsplash
尽管这些技巧十分简单,却能避免不少没必要要的步骤,简化代码。易上手易理解是Python最大的优势之一,但愿你能享受学习、快乐编码!
咱们一块儿分享AI学习与发展的干货
欢迎关注全平台AI垂类自媒体 “读芯术”
(添加小编微信:dxsxbb,加入读者圈,一块儿讨论最新鲜的人工智能科技哦~)