栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

你需要知道的20个常用的Python技巧

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

你需要知道的20个常用的Python技巧

Python的可读性和简单性是其广受欢迎的两大原因,本文介绍20个常用的Python技巧来提高代码的可读性,并能帮助你节省大量时间,下面的技巧将在你的日常编码练习中非常实用。

1.字符串反转

使用Python切片反转字符串:

Reversing a string using slicing

my_string=“ABCDE”

reversed_string=my_string[::-1]

print(reversed_string)

Output EDCBA

2.每个单词的第一个字母大写

使用title函数方法:

my_string=“my name is chaitanya baweja”

using the title() function of string class

new_string=my_string.title()

print(new_string)

Output My Name Is Chaitanya Baweja
  1. 字符串查找唯一元素

使用集合的概念查找字符串的唯一元素:

my_string=“aavvccccddddeee”

converting the string to a set

temp_set=set(my_string)

stitching set into a string using join

new_string=’’.join(temp_set)

print(new_string)

output cdvae

4.重复打印字符串和列表n次

你可以使用乘法符号(*)打印字符串或列表多次:

n=3# number of repetitions

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]

5.列表生成

Multiplying each element in a list by 2

original_list=[1,2,3,4]

new_list=[2*xforxinoriginal_list]

print(new_list)

[2,4,6,8]

6.变量交换

a=1

b=2

a, b=b, a

print(a)# 2

print(b)# 1

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

使用.split()函数:

string_1=“My name is Chaitanya Baweja”

string_2=“sample/ string 2”

default separator ’ ’

print(string_1.split())

[‘My’, ‘name’, ‘is’, ‘Chaitanya’, ‘Baweja’] defining separator as ‘/’

print(string_2.split(’/’))

[‘sample’, ’ string 2’]

8.多个字符串组合为一个字符串

list_of_strings=[‘My’,‘name’,‘is’,‘Chaitanya’,‘Baweja’]

Using join with the comma separator

print(’,’.join(list_of_strings))

Output My,name,is,Chaitanya,Baweja

9.检测字符串是否为回文

my_string=“abcba”

ifmy_string==my_string[::-1]:

print(“palindrome”)

else:

print(“not palindrome”)

Output palindrome
  1. 统计列表中元素的次数
finding frequency of each element in a list

fromcollectionsimportCounter

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)]

11.判断两个字符串是否为Anagrams

Anagrams的含义为两个单词中,每个英文单词(不含大小写)出现的次数相同,使用Counter类判断两个字符串是否为Anagrams。最后,如果你的时间不是很紧张,并且又想快速的python提高,最重要的是不怕吃苦,建议你可以架微♥信:762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~

fromcollectionsimportCounter

str_1, str_2, str_3=“acbde”,“abced”,“abcda”

cnt_1, cnt_2, cnt_3=Counter(str_1), Counter(str_2), Counter(str_3)

ifcnt_1==cnt_2:

print(‘1 and 2 anagram’)

ifcnt_1==cnt_3:

print(‘1 and 3 anagram’)

output 1 and 2 anagram
  1. 使用try-except-else-block模块

except获取异常处理:

a, b=1,

try:

print(a/b)

exception raised when b is 0

exceptZeroDivisionError:

print(“division by zero”)

else:

print(“no exceptions raised”)

finally:

print(“Run this always”)

output division by zero Run this always
  1. 使用枚举函数得到key/value对

my_list=[‘a’,‘b’,‘c’,‘d’,‘e’]

forindex, valueinenumerate(my_list):

print(’: '.format(index, value))

0: a 1: b 2: c 3: d 4: e

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

importsys

num=21

print(sys.getsizeof(num))

In Python 2, 24 In Python 3, 28

15.合并字典

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}

16.计算执行一段代码所花费的时间

使用time类计算运行一段代码所花费的时间:

importtime

start_time=time.time()

Code to check follows

foriinrange(10**5):

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)

output 18770.217895507812
  1. 列表展开

fromiteration_utilitiesimportdeepflatten

if you only have one depth nested_list, use this

defflatten(l):

return[itemforsublistinlforiteminsublist]

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]
  1. 列表采样

importrandom

my_list=[‘a’,‘b’,‘c’,‘d’,‘e’]

num_samples=2

samples=random.sample(my_list,num_samples)

print(samples)

[ ‘a’, ‘e’] this will have any 2 random values

19.数字化

将整数转化成数字列表:

num=123456

using map

list_of_digits=list(map(int,str(num)))

print(list_of_digits)

[1, 2, 3, 4, 5, 6] using list comprehension

list_of_digits=[int(x)forxinstr(num)]

print(list_of_digits)

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

20.检查列表元素的唯一性

检查列表中每个元素是否为唯一的:

defunique(l):

iflen(l)==len(set(l)):

print(“All elements are unique”)

else:

print(“List has duplicates”)

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

All elements are unique

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

List has duplicates
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/619148.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号