Python语言学习之值得掌握的Python技巧
小职 2021-01-26 来源 :Linux公社 阅读 301 评论 0

摘要:​本文主要向大家介绍了Python语言学习之值得掌握的Python技巧,通过具体的内容向大家展现,希望对大家对Python语言的学习有所帮助。

本文主要向大家介绍了Python语言学习之值得掌握的Python技巧,通过具体的内容向大家展现,希望对大家对Python语言的学习有所帮助。

Python语言学习之值得掌握的Python技巧

本文为大家介绍20个值得记住的 Python 技巧,可以提升您编程技巧, 并为您节省大量时间。在平常编程过程中,以下技巧大多非常有用。

 

1 字符串反转

 

使用切片反转字符串。

 

str1="qwert"   

rev_str1=str1[::-1]   

#输出    

# trewq

2 使首字母大写

 

将字符串转换为首字母大写。使用 title()方法完成的。

 

str1="this is a book"   

print(str1.title())   

# This Is A Book

3 在字符串中查找唯一元素

 

下面代码可用于查找字符串中所有的唯一元素。

 

str1="aabbccccdddd"  

setset1=set(str1)   

new_str=''.join(set1)   

print(new_str)

4 重复打印字符串或列表

 

下面的代码中,对字符串或列表使用(*)。把字符串或列表复制多次。

 

i=4   

str1="abcd"   

list1=[1,2]   

print(str1*i)   

# abcdabcdabcdabcd    

print(list1*i)   

# [1,2,1,2,1,2,1,2]

5 列表推导式

 

列表推导式为我们提供了一种在其他列表基础上创建列表的好方法。下面代码通过将旧列表的每个元素乘以 2 来创建新列表。

 

list1=[1,2,3]   

new_list1=[2*i for i in list1]   

# [2,4,6]

6 交换变量

 

不使用另一个变量,实现变量交换。

 

x=1   

y=2   

x,yy=y,x   

print(x) # 2  

print(y) # 1

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

 

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

 

str1="This is a book"  

str2="test/ str 2"  

print(str1.split()) # ['This', 'is', 'a', 'book']   

print(str2.split('/')) # ['test', ' str 2']

8 将字符串列表组合成单个字符串

 

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

 

list_str=['This','is','a','book']  

print(','.join(list_str))  

# This,is,a,book

9 检查回文字符串

 

我们已经讨论过如何反转字符串,因此回文字符串在 Python 中判断起来非常简单。

 

str1="qqaabb"  

if str1==str1[::-1]:  

  print("回文")  

else:  

  print("不是")  

  # 不是

10 列表中的元素统计

 

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

 

另外使用 most_common()函数来获取列表中的 出现次数最多的元素。

 

from collections import Counter  

list1=['a','b','a','c','c','c']  

count=Counter(list1)  

print(count)  

print(count['b'])  

print(count.most_common(1))

11 判断两个字符串是否为异序词

 

异序词是通过重新排列不同单词或短语的字母而形成的单词或短语。如果两个字符串的 Counter 对象相等,那么它们就是相同字母异序词对。

 

s1,s2,s3="acbde","abced","abcda"  

c1,c2,c3=Counter(s1),Counter(s2),Counter(s3)  

if c1==c2:  

  print('1和2是异序词')  

 if c1==c3:  

   print('1和3是异序词')

12 使用 try-except-else 块

 

try / except 是 Python 中的异常处理模块,添加 else 语句,会在 try 块中没有引发异常的情况下运行。

 

a,b=1,0  

try:  

  print(a/b)  

  # b为0的时候触发异常  

except ZeroDivisionError:  

  print("除数为0")  

else:  

  print("不存在异常")  

finally:  

  print("此段总是会执行")

13 通过枚举获取索引 / 值对

 

可以使用下面的脚本,遍历列表中的值及其索引。

 

list1=['a','b','c','d','e']  

for idx,val in enumerate(list1):  

  print('{0}:{1}'.format(idx,val))  

# 0:a  

# 1:b  

# 2:c  

# 3:d  

# 4:e

14 获取对象的内存使用信息

 

下面脚本可用于检查对象的内存使用信息。

 

import sys  

num=21  

print(sys.getsizeof(num))

15 合并两个字典

 

在 Python 2 中,使用 update()合并两个字典,Python 3 变得更加简单。

 

下面脚本中,两个字典被合并。在相交的情况下,使用第二个字典中的值。

 

dic1={'app':9,'banana':6}  

dic2={'banana':4,'orange':8}  

com_dict={**dic1,**dic2}  

# {'apple':9,'banana':4,'orange':8}

16 计算代码执行所需的时间

 

下面代码使用库函数来计算执行代码所需的时间消耗多少毫秒。

 

import time  

s_time=time.time()  

a,b=1,2  

c=a+b   

e_time=time.time()  

time_taken_in_micro=(e_time-stime)*(10**6)  

print("程序运行的毫秒:{0} ms".format(time_taken_in_micro))  

17 展开列表清单

 

有时不知道列表的嵌套深度,并且只想把所有元素放在一个普通列表中。可以通下面的方法得到数据:

 

from iteration_utilities import deepflatten  

# 如果嵌套列表的深度只有1层  

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]  

# 如果不知道列表嵌套深度  

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 从列表中随机取样

 

下面代码从给定列表中生成了 n 个随机样本。

 

import random  

list1=['a','b','c','d','e']  

ns=2  

samples=random.sample(list1,ns)  

print(samples)  

# ['a','c']

或者使用secrets库生成随机样本进行, 下面代码仅适用于 Python 3.x。

 

import secrets  

s_rand=secrets.SystemRanom()  

list1=['a','b','c','d','e']  

ns=2  

samples=s_rand.sample(list1,ns)  

print(samples)  

# ['c','d']

19 数字列表化

 

下面代码将整数转换为数字列表。

 

nums=123456  

# 使用map  

digit_list=list(map(int,str(nums)))  

print(digit_list)  

# [1,2,3,4,5,6]  

# 使用列表表达式  

digit_list=[int(x) for x in str(nums)]  

print(digit_list)  

# [1,2,3,4,5,6]

20 唯一性检查

 

下面的函数检查列表中的元素是否唯一。

 

def unique(l):  

  if len(l)==len(set(l)):  

      print("所有元素是唯一的")  

   else:  

      print("存在重复")  

 unique([1,2,3,4])  

 # 所有元素是唯一的  

 unique([1,1,3,4])  

 # 存在重复 


关注“职坐标在线”(Zhizuobiao_Online)公众号,免费获取学习教程资料、技术就业咨询

Python语言学习之值得掌握的Python技巧

本文由 @小职 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程