Python的可读性和简单性是其广受欢迎的两大原因,本文介绍20个常用的Python技巧来提高代码的可读性,并能帮助你节省大量时间,下面的技巧将在你的日常编码练习中非常实用。
1.字符串反转
使用Python切片反转字符串:
Reversing a string using slicingmy_string=“ABCDE”
reversed_string=my_string[::-1]
print(reversed_string)
Output EDCBA2.每个单词的第一个字母大写
使用title函数方法:
my_string=“my name is chaitanya baweja”
using the title() function of string classnew_string=my_string.title()
print(new_string)
Output My Name Is Chaitanya Baweja- 字符串查找唯一元素
使用集合的概念查找字符串的唯一元素:
my_string=“aavvccccddddeee”
converting the string to a settemp_set=set(my_string)
stitching set into a string using joinnew_string=’’.join(temp_set)
print(new_string)
output cdvae4.重复打印字符串和列表n次
你可以使用乘法符号(*)打印字符串或列表多次:
n=3# number of repetitions
my_string=“abcd”
my_list=[1,2,3]
print(my_string*n)
abcdabcdabcdprint(my_list*n)
[1,2,3,1,2,3,1,2,3]5.列表生成
Multiplying each element in a list by 2original_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 separatorprint(’,’.join(list_of_strings))
Output My,name,is,Chaitanya,Baweja9.检测字符串是否为回文
my_string=“abcba”
ifmy_string==my_string[::-1]:
print(“palindrome”)
else:
print(“not palindrome”)
Output palindrome- 统计列表中元素的次数
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
3print(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- 使用try-except-else-block模块
except获取异常处理:
a, b=1,
try:
print(a/b)
exception raised when b is 0exceptZeroDivisionError:
print(“division by zero”)
else:
print(“no exceptions raised”)
finally:
print(“Run this always”)
output division by zero Run this always- 使用枚举函数得到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: e14.检查对象的内存使用情况
importsys
num=21
print(sys.getsizeof(num))
In Python 2, 24 In Python 3, 2815.合并字典
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 followsforiinrange(10**5):
a, b=1,2
c=a+b
Code to check endsend_time=time.time()
time_taken_in_micro=(end_time-start_time)*(10**6)
print(time_taken_in_micro)
output 18770.217895507812- 列表展开
fromiteration_utilitiesimportdeepflatten
if you only have one depth nested_list, use thisdefflatten(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 nestedl=[[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]- 列表采样
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 values19.数字化
将整数转化成数字列表:
num=123456
using maplist_of_digits=list(map(int,str(num)))
print(list_of_digits)
[1, 2, 3, 4, 5, 6] using list comprehensionlist_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 uniqueunique([1,1,2,3])
List has duplicates


