18个Python脚本可加速你的编码速度(提示和技巧)


Posted in Python onOctober 17, 2019

在本文中,我们向您介绍一些提示和技巧,以帮助您更快地编写代码

Python的可读性和设计简单性是其广受欢迎的两个主要原因。

一些常见的Python技巧可以帮助你提高编码速度。在您的日常编码练习中,以下技巧将非常有用。

1.在字符串中查找唯一元素

以下代码段可用于查找字符串中的所有唯一元素。我们使用集合中所有元素都是唯一的属性。

my_string = "aavvccccddddeee" 
# 将字符串转换为集合 
temp_set = set(my_string) 
# 使用join将拼接设置为字符串 
new_string = ''.join(temp_set) 
print(new_string)

2.首字母大写

以下代码段可用于将字符串转换为标题大小写。这是使用title()字符串类的方法完成的。

my_string = “My Name Is Chaitanya Baweja” 
#使用string类的title()函数 
new_string = my_string.title() 
print(new_string) 
#output 
My Name Is Chaitanya Baweja

3.反转字符串

以下代码段使用Python切片操作来反转字符串。

#使用切片反转字符串 
my_string = "ABCDE" 
reversed_string = my_string [::-1] 
print(reversed_string) 
#output

4. n次打印字符串或列表

您可以对字符串或列表使用乘法(*)。这使我们可以将它们任意倍增。

n = 3 #重复次数 
my_string = "ABCD" 
my_list = [ 1,2,3 ] 
print(my_string * n) 
#abcdabcdabcd 
print(my_list * n) 
# [1,2,3,1,2,3,1,2,3]

一个有趣的用例是定义一个具有恒定值的列表-假设为零。

n = 4 
my_list = [0] * n #n表示所需列表的长度 
#[0,0,0,0]

5.将字符串列表组合成单个字符串

join()方法将作为参数传递的字符串列表组合为单个字符串。在我们的情况下,我们使用逗号分隔符将它们分开。

list_of_strings = ['My', 'name', 'is', 'haha', 'lulu'] 
# 使用","连接字符串 
print(','.join(list_of_strings)) 
# Output 
# My,name,is,haha,lulu

6.在两个变量之间交换值

Python使在两个变量之间交换值而不使用另一个变量变得非常简单。

a = 1 
b = 2 
a, b = b, a 
print(a) # 2 
print(b) # 1

7.将字符串拆分为子字符串列表

我们可以使用字符串类中的.split()方法将字符串拆分为子字符串列表。您还可以将要分割的分隔符作为参数传递。

string_1 = "My name is haha lulu" 
string_2 = "sample/ string 2" 
# default separator ' ' 
print(string_1.split()) 
# ['My', 'name', 'is', 'haha', 'lulu'] 
# defining separator as '/' 
print(string_2.split('/')) 
# ['sample', ' string 2']

8.List Comprehension

List Comprehension为我们提供了一种基于其他列表创建列表的优雅方法。以下代码段通过将旧列表的每个元素乘以2来创建新列表。

# Multiplying each element in a list by 2 
original_list = [1,2,3,4] 
new_list = [2*x for x in original_list] 
print(new_list) 
# [2,4,6,8]

您可以在此处了解更多信息。

9.检查给定的字符串是否是回文

我们已经讨论了如何反转字符串。因此回文式成为Python中一个简单的程序。

my_string = "abcba" 
if my_string == my_string[::-1]: 
 print("palindrome") 
else: 
 print("not palindrome") 
# Output 
# palindrome

10.使用枚举获取索引/值对

以下脚本使用枚举遍历列表中的值及其索引。

my_list = ['a', 'b', 'c', 'd', 'e'] 
for index, value in enumerate(my_list): 
 print('{0}: {1}'.format(index, value)) 
# 0: a 
# 1: b 
# 2: c 
# 3: d 
# 4: e

11.查找两个字符串是否为字母

Counter类的一个有趣应用是查找字谜。

字谜是通过重新排列不同单词或短语的字母而形成的单词或短语。

如果Counter两个字符串的对象相等,那么它们就是字谜。

from collections import Counter 
str_1, str_2, str_3 = "acbde", "abced", "abcda" 
cnt_1, cnt_2, cnt_3 = Counter(str_1), Counter(str_2), Counter(str_3) 
if cnt_1 == cnt_2: 
 print('1 and 2 anagram') 
if cnt_1 == cnt_3: 
 print('1 and 3 anagram')

12.使用try-except-else块

使用try / except块可以轻松完成Python中的错误处理。当try块中没有引发异常时,它将正常运行。如果您需要运行某些程序而不考虑异常,请使用finally,保证资源的释放,和最终逻辑的执行。

try: 
 print(a/b) 
 # exception raised when b is 0 
except ZeroDivisionError: 
 print("division by zero") 
else: 
 print("no exceptions raised") 
finally: 
 print("Run this always")

13.列表中元素的频率

这样做有多种方法,但我最喜欢的是使用Python Counter类。

Python计数器跟踪容器中每个元素的频率。Counter()返回一个字典,其中元素作为键,而频率作为值。

我们还使用该most_common()函数来获取most_frequent列表中的元素。

# finding frequency of each element in a list 
from collections import Counter 
my_list = ['a','a','b','b','b','c','d','d','d','d','d'] 
count = Counter(my_list) # defining a counter object 
print(count) # Of all elements 
# Counter({'d': 5, 'b': 3, 'a': 2, 'c': 1}) 
print(count['b']) # of individual element 
# 3 
print(count.most_common(1)) # most frequent element 
# [('d', 5)]

14.检查对象的内存使用情况

以下脚本可用于检查对象的内存使用情况。在此处了解更多信息。

import sys 
num = 21 
print(sys.getsizeof(num)) 
# In Python 2, 24 
# In Python 3, 28

15.从列表中取样

以下代码段 n使用该random库从给定列表中生成了许多随机样本。

随机导入 
my_list = [ 'a','b','c','d','e' ] 
num_samples = 2 
样本= 随机 .sample(my_list,num_samples) 
 打印(样本) 
#[ 'a','e' ] 这将具有任意2个 随机值

16.统计代码执行所需的时间

以下代码段使用该time库来计算执行一段代码所花费的时间。

import time 
start_time = time.time() 
# Code to check follows 
a, b = 1,2 
c = a+ b 
# Code to check ends 
end_time = time.time() 
time_taken_in_micro = (end_time- start_time)*(10**6) 
print(" Time taken in micro_seconds: {0} ms").format(time_taken_in_micro)

17.展平列表清单

有时不确定列表的嵌套深度,只希望将所有元素放在一个平面列表中。应该这样做:

from iteration_utilities import deepflatten 
# if you only have one depth nested_list, use this 
def flatten(l): 
 return [item for sublist in l for item in sublist] 
l = [[1,2,3],[3]] 
print(flatten(l)) 
# [1, 2, 3, 3] 
# if you don't know how deep the list is nested 
l = [[1,2,3],[4,[5],[6,7]],[8,[9,[10]]]] 
print(list(deepflatten(l, depth=3))) 
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

18.合并两个字典

在Python 2中,我们使用的update()方法来合并两个字典。Python 3.5使这一过程变得更加简单。在下面给出的脚本中,两个字典被合并。在有交集的情况下,使用第二个字典中的值。

dict_1 = {'apple': 9, 'banana': 6} 
dict_2 = {'banana': 4, 'orange': 8} 
combined_dict = {**dict_1, **dict_2} 
print(combined_dict) 
# Output 
# {'apple': 9, 'banana': 4, 'orange': 8}

总结

以上所述是小编给大家介绍的18个Python脚本可加速你的编码速度,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python列出目录下指定文件与子目录的方法
Jul 03 Python
Python中getattr函数和hasattr函数作用详解
Jun 14 Python
python字符串str和字节数组相互转化方法
Mar 18 Python
Python实现删除列表中满足一定条件的元素示例
Jun 12 Python
python使用SMTP发送qq或sina邮件
Oct 21 Python
Python实现的在特定目录下导入模块功能分析
Feb 11 Python
Python实现求两个数组交集的方法示例
Feb 23 Python
python、Matlab求定积分的实现
Nov 20 Python
Python文件操作函数用法实例详解
Dec 24 Python
Python虚拟环境的创建和使用详解
Sep 07 Python
pandas DataFrame.shift()函数的具体使用
May 24 Python
python图像处理 PIL Image操作实例
Apr 09 Python
python numpy中cumsum的用法详解
Oct 17 #Python
python hashlib加密实现代码
Oct 17 #Python
Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例
Oct 17 #Python
python模块常用用法实例详解
Oct 17 #Python
Python 使用元类type创建类对象常见应用详解
Oct 17 #Python
Python with关键字,上下文管理器,@contextmanager文件操作示例
Oct 17 #Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
Oct 17 #Python
You might like
风味层面去分析咖啡油脂
2021/03/03 咖啡文化
php中理解print EOT分界符和echo EOT的用法区别小结
2010/02/21 PHP
PHP分页函数代码(简单实用型)
2010/12/02 PHP
PHP调用MySQL存储过程并返回值的方法
2014/12/26 PHP
php强制用户转向www域名的方法
2015/06/19 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
2017/08/07 PHP
PHP实现数组向任意位置插入,删除,替换数据操作示例
2019/04/05 PHP
基于JQuery.timer插件实现一个计时器
2010/04/25 Javascript
javascript转换静态图片,增加粒子动画效果
2015/05/28 Javascript
JS实现的自定义显示加载等待图片插件(loading.gif)
2016/06/17 Javascript
JS比较两个数值的大小实例
2016/11/25 Javascript
利用ES6的Promise.all实现至少请求多长时间的实例
2017/08/28 Javascript
react native与webview通信的示例代码
2017/09/25 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
2018/10/10 jQuery
JavaScript 中 JSON.parse 函数 和 JSON.stringify 函数
2018/12/05 Javascript
JS拖动选择table里的单元格完整实例【基于jQuery】
2019/05/28 jQuery
vue输入节流,避免实时请求接口的实例代码
2019/10/30 Javascript
Python 字典与字符串的互转实例
2017/01/13 Python
Python模拟登陆实现代码
2017/06/14 Python
Python 闭包的使用方法
2017/09/07 Python
Python3实现的画图及加载图片动画效果示例
2018/01/19 Python
Python操作Sql Server 2008数据库的方法详解
2018/05/17 Python
python得到qq句柄,并显示在前台的方法
2018/10/14 Python
Django Rest framework三种分页方式详解
2019/07/26 Python
详解python中自定义超时异常的几种方法
2019/07/29 Python
PyCharm中配置PySide2的图文教程
2020/06/18 Python
python Cartopy的基础使用详解
2020/11/01 Python
python实现学生信息管理系统源码
2021/02/22 Python
澳大利亚买卖正宗二手奢侈品交易平台:Luxe.It.Fwd
2019/10/16 全球购物
英国豪华家具和家居用品购物网站:Teddy Beau
2020/10/12 全球购物
学生检讨书如何写
2014/10/30 职场文书
2015年学生管理工作总结
2015/05/26 职场文书
公司费用报销管理制度
2015/08/04 职场文书
改进工作作风心得体会
2016/01/23 职场文书
九年级数学教学反思
2016/02/17 职场文书
使用python绘制横竖条形图
2022/04/21 Python