收藏!20条非常实用的Python代码实例
吴振华 · 121浏览 · 发布于2021-07-26 +关注

据说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. print(2 < a < 8) 

  3. print(1 == a < 3) 

输出:


  1. True 

  2. False 

3、重复打印字符串

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


  1. n = 5 

  2. string = "Hello!" 


  3. print(string * n) 

输出:


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

4、检查文件是否存在

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

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


  1. from os import path 


  2. def check_for_file(): 

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


  4. if __name__=="__main__": 

  5.     check_for_file() 

输出:


  1. Does file exist: False 

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

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


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


  2. #索引方法 

  3. last_element = my_list[-1] 


  4. #pop方法 

  5. 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. 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. start_time = time.time() 


  3. total = 0 

  4. for i in range(10): 

  5.   total += i 

  6. print("Sum:", total) 


  7. end_time = time.time() 

  8. time_taken = end_time - start_time 

  9. 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. mylist = [1,1,2,3,4,5,6,6,2,2] 

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

输出:


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

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

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


  1. def list_to_dictionary(keys, values): 

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


  3. list1 = [1, 2, 3] 

  4. list2 = ['one', 'two', 'three'] 


  5. print(list_to_dictionary(list1, list2)) 

输出:


  1. {1: 'one', 2: 'two', 3: 'three'} 

10、异常处理

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


  1. a, b = 1,0 


  2. try: 

  3.     print(a/b) 

  4. except ZeroDivisionError: 

  5.     print("Can not divide by zero") 

  6. finally: 

  7.     print("Executing finally block") 

输出:


  1. Can not divide by zero 

  2. Executing finally block 

11、反转字符串

使用切片操作对字符串进行反转,这是比较直接有效的方式。

这也可以用来检测回文数。


  1. str = "Hello World" 


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

输出:


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

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

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


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

  2. combined_string = " ".join(list) 


  3. print(combined_string) 

输出:


  1. Hello world Ok Bye! 

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

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


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


  2. #returning three as default value 

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


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

输出:


  1. three 

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

14、交换两个变量的值

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


  1. a, b = 5, 10 


  2. # 方法1 

  3. a, b = b, a 


  4. # 方法2 

  5. def swap(a,b): 

  6.   return b,a 

  7. swap(a,b) 

15、正则表达式

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


  1. import re 


  2. text = "The rain in spain" 

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


  4. print(True if result else False) 

输出:


  1. True 

16、筛选值

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


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


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


  3. print(list(result)) 

输出:


  1. [1, 3, 7, 9, 11] 

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. var1 = 15 

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


  4. print(sys.getsizeof(var1)) 

  5. print(sys.getsizeof(list1)) 

输出:


  1. 28 

  2. 104 

19、链式函数调用

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


  1. def add(a, b): 

  2.     return a + b 


  3. def subtract(a, b): 

  4.     return a - b 


  5. a, b = 5, 10 


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

输出:


  1. 15 

20、从列表中删除重复项

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


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


  2. # 方法1 

  3. def remove_duplicate(list_value): 

  4.     return list(set(list_value)) 

  5. print(remove_duplicate(list1)) 


  6. # 方法2 

  7. result = [] 

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

  9. print(result) 

输出:


  1. [1, 2, 3, 4, 'Ana', 'John', 'Mark'] 

  2. [1, 2, 3, 4, 'John', 'Ana', 'Mark'] 


相关推荐

PHP实现部分字符隐藏

沙雕mars · 910浏览 · 2019-04-28 09:47:56
Java中ArrayList和LinkedList区别

kenrry1992 · 379浏览 · 2019-05-08 21:14:54
Tomcat 下载及安装配置

manongba · 488浏览 · 2019-05-13 21:03:56
JAVA变量介绍

manongba · 536浏览 · 2019-05-13 21:05:52
什么是SpringBoot

iamitnan · 504浏览 · 2019-05-14 22:20:36
加载中

0评论

评论
坐标是江苏.南京,行业是互联网,技术是PHP和java,还有熟悉前后端等。
分类专栏
小鸟云服务器
扫码进入手机网页