您现在的位置是:亿华云 > IT科技

分享值得你拥有的Python技巧

亿华云2025-10-02 15:17:08【IT科技】4人已围观

简介本文为大家介绍20个值得记住的 Python 技巧,可以提升您编程技巧, 并为您节省大量时间。在平常编程过程中,以下技巧大多非常有用。1 字符串反转使用切片反转字符串。str1="qwert"rev_

 

本文为大家介绍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])   # 存在重复 

很赞哦!(93)