服务器之家

服务器之家 > 正文

20条非常实用的Python代码实例

时间:2021-05-25 00:46     来源/作者:知乎

 20条非常实用的Python代码实例

据说Python之父-Guido Van Rossum打算让CPython更快,速度直接翻五倍,这是实实在在的好消息。

Python一直以来被诟病速度慢,影响开发效率,希望这次Guido老爷子能帮python打一场漂亮的翻身仗。

这篇文章不准备介绍Python速度如何,而是给大家带来一些常用且实用的Python代码实例,几乎是开发者必备的知识点。

1、合并两个字典

Python3.5之后,合并字典变得容易起来。我们可以通过 ** 符号解压字典,并将多个字典传入 {} 中,实现合并。

  1. def Merge(dict1, dict2):  

  2.     res = {**dict1, **dict2}  

  3.     return res  

  4.        

  5. # 两个字典 

  6. dict1 = {"name""Joy""age"25

  7. dict2 = {"name""Joy""city""New York"

  8. dict3 = Merge(dict1, dict2)  

  9. print(dict3) 

输出:

  1. {'name''Joy''age'25'city''New York'

2、链式比较

python有链式比较的机制,在一行里支持多种运算符比较。相当于拆分多个逻辑表达式,再进行逻辑与操作。

  1. a = 5 

  2.  

  3. print(2 < a < 8

  4. print(1 == a < 3

输出:

  1. True 

  2. False 

3、重复打印字符串

将一个字符串重复打印多次,一般使用循环实现,但有更简易的方式可以实现。

  1. n = 5 

  2. string = "Hello!" 

  3.  

  4. print(string * n) 

输出:

  1. Hello!Hello!Hello!Hello!Hello! 

4、检查文件是否存在

我们知道Python有专门处理系统交互的模块-os,它可以处理文件的各种增删改查操作。

那如何检查一个文件是否存在呢?os模块可以轻松实现。

  1. from os import path 

  2.  

  3. def check_for_file(): 

  4.     print("Does file exist:", path.exists("data.csv")) 

  5.  

  6. if __name__=="__main__"

  7.     check_for_file() 

输出:

  1. Does file exist: False 

5、检索列表最后一个元素

在使用列表的时候,有时会需要取最后一个元素,有下面几种方式可以实现。

  1. my_list = ['banana''apple''orange''pineapple'

  2.  

  3. #索引方法 

  4. last_element = my_list[-1

  5.  

  6. #pop方法 

  7. last_element = my_list.pop() 

输出:

  1. 'pineapple' 

6、列表推导式

列表推导式是for循环的简易形式,可以在一行代码里创建一个新列表,同时能通过if语句进行判断筛选

  1. def get_vowels(string): 

  2.     return [vowel for vowel in string if vowel in 'aeiou']  

  3.  

  4. print("Vowels are:", get_vowels('This is some random string')) 

输出:

  1. Vowels are:  ['i''i''o''e''a''o''i'

7、计算代码执行时间

python中time模块提供了时间处理相关的各种函数方法,我们可以使用它来计算代码执行的时间。

  1. import time 

  2.  

  3. start_time = time.time() 

  4.  

  5. total = 0 

  6. for i in range(10): 

  7.   total += i 

  8. print("Sum:", total) 

  9.  

  10. end_time = time.time() 

  11. time_taken = end_time - start_time 

  12. print("Time: ", time_taken) 

输出:

  1. Sum: 45 

  2. Time:  0.0009975433349609375 

8、查找出现次数最多的元素

使用max方法找出列表中出现次数最多的元素。

  1. def most_frequent(list): 

  2.   return max(set(list), key=list.count) 

  3.  

  4. mylist = [1,1,2,3,4,5,6,6,2,2

  5. print("出现次数最多的元素是:", most_frequent(mylist)) 

输出:

出现次数最多的元素是: 2

9、将两个列表转换为字典

有两个列表,将列表A里的元素作为键,将列表B里的对应元素作为值,组成一个字典。

  1. def list_to_dictionary(keys, values): 

  2.   return dict(zip(keys, values)) 

  3.  

  4. list1 = [123

  5. list2 = ['one''two''three'

  6.  

  7. print(list_to_dictionary(list1, list2)) 

输出:

  1. {1'one'2'two'3'three'

10、异常处理

Python提供了try...except...finally的方式来处理代码异常,当然还有其他组合的方式。

  1. a, b = 1,0 

  2.  

  3. try

  4.     print(a/b) 

  5. except ZeroDivisionError: 

  6.     print("Can not divide by zero"

  7. finally

  8.     print("Executing finally block"

输出:

  1. Can not divide by zero 

  2. Executing finally block 

11、反转字符串

使用切片操作对字符串进行反转,这是比较直接有效的方式。 这也可以用来检测回文数。

  1. str = "Hello World" 

  2.  

  3. print("反转后字符串是:", str[::-1]) 

输出:

  1. 反转后字符串是: dlroW olleH 

12、字符串列表组成单个字符串

使用join方法将字符串列表组成单个字符串。

  1. list = ["Hello""world""Ok""Bye!"

  2. combined_string = " ".join(list) 

  3.  

  4. print(combined_string) 

输出:

  1. Hello world Ok Bye! 

13、返回字典缺失键的默认值

字典中的get方法用于返回指定键的值,如果键不在字典中返回默认值 None 或者设置的默认值。

  1. dict = {1:'one'2:'two'4:'four'

  2.  

  3. #returning three as default value 

  4. print(dict.get(3'three')) 

  5.  

  6. print("原始字典:", dict) 

输出:

  1. three 

  2. 原始字典: {1'one'2'two'4'four'

14、交换两个变量的值

在不使用临时变量的前提下,交换两个变量的值。

  1. a, b = 510 

  2.  

  3. # 方法1 

  4. a, b = b, a 

  5.  

  6. # 方法2 

  7. def swap(a,b): 

  8.   return b,a 

  9. swap(a,b) 

15、正则表达式

正则表达式用来匹配处理字符串,python中的re模块提供了全部的正则功能。

  1. import re 

  2.  

  3. text = "The rain in spain" 

  4. result = re.search("rain", text) 

  5.  

  6. print(True if result else False) 

输出:

  1. True 

16、筛选值

python中的filter方法可以用来进行值的筛选。

  1. my_list = [0,1,2,3,6,7,9,11

  2.  

  3. result = filter(lambda x: x % 2!=0, my_list) 

  4.  

  5. print(list(result)) 

输出:

  1. [137911

17、统计字频

判断字符串每个元素出现的次数,可以用collections模块中的Counter方法来实现,非常简洁。

  1. from collections import Counter 

  2. result = Counter('banana'

  3. print(result) 

输出:

  1. Counter({'a'3'n'2'b'1}) 

18、变量的内存占用

如何输出python中变量的内存占用大小,可以通过sys模块来实现。

  1. import sys 

  2.  

  3. var1 = 15 

  4. list1 = [1,2,3,4,5

  5.  

  6. print(sys.getsizeof(var1)) 

  7. print(sys.getsizeof(list1)) 

输出:

19、链式函数调用

在一行代码中调用多个函数。

  1. def add(a, b): 

  2.     return a + b 

  3.  

  4. def subtract(a, b): 

  5.     return a - b 

  6.  

  7. a, b = 510 

  8.  

  9. print((add if b > a else subtract)(a,b)) 

输出:

20、从列表中删除重复项

删除列表中重复项一般可以通过遍历来筛选去重,或者直接使用集合方法。

  1. list1 = [1,2,3,3,4,'John''Ana''Mark''John'

  2.  

  3. # 方法1 

  4. def remove_duplicate(list_value): 

  5.     return list(set(list_value)) 

  6. print(remove_duplicate(list1)) 

  7.  

  8. # 方法2 

  9. result = [] 

  10. [result.append(x) for x in list1 if x not in result] 

  11. print(result) 

输出:

  1. [1234'Ana''John''Mark'

  2. [1234'John''Ana''Mark'

原文链接:https://zhuanlan.zhihu.com/p/374461054?utm_source=tuicool&utm_medium=referral

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021德云社封箱演出完整版 2021年德云社封箱演出在线看
2021德云社封箱演出完整版 2021年德云社封箱演出在线看 2021-03-15
返回顶部