目录
前言
本文紧随上文,继续给大家介绍python中可以提高我们代码可读性的一些技巧。
一、使用for循环反转列表
初级
大家很多时候可能会用到一下的方法
list = [1,2,3,4,5,7,8,9,10,12,2354,6754]
out_list = []
for idx in range(len(list),0,-1)://倒着读取列表
out_list.append(list[idx-1])
print(out_list)
#[6754, 2354, 12, 10, 9, 8, 7, 5, 4, 3, 2, 1]
进阶
了解了python的切片后,我们也可以使用python的切片实现同样的功能
list = [1,2,3,4,5,7,8,9,10,12,2354,6754]
out_list = list[::-1]
print(out_list)
二、使用for循环计算可迭代对象中元素的出现次数
初级
char_list = ["a","b","c","c","e","c"]
target_char = "c"
flag = 0
for i in char_list:
if target_char == i:
flag += 1
print(flag)
# 3
进阶
这里我们可以使用count的办法,而且这个方法在字符串中同样适用
char_list = ["a","b","c","c","e","c"]
print(char_list.count("c"))
string = "andeeefg"
print(string.count("e"))
三、使用for循环获取字符串的子字符串
初级
任务是需要大家返回一个长度为n_chars的子字符串,且从位置start_index开始
刚开始大家都是用for循环,如下图
input_str = "abcdefgdasdasdsa"
start_index = 4
n_chars = 5
output_str = ""
for i in range(n_chars):
output_str += input_str[i+start_index]
print(output_str)
# efgda
高级
我们仍可以使用切片的办法,将代码一行解决
input_str = "abcdefgdasdasdsa"
start_index = 4
n_chars = 5
output_str = ""
output_str = input_str[start_index:n_chars+start_index]
print(output_str)
#efgda
四、使用for循环在列表中搜索元素
初级
假设想知道某个元素是否存在于列表(或集合)并返回布尔(如果存在则为True,否则为False)
char_list = ["A", "B", "A", "D", "C", "B", "E"]
seacher = "D"
found = False
for i in char_list:
if i == seacher:
found = True
break
print(found)
#True
进阶
这里我们只需要用关键字 in 即可解决问题
char_list = ["A", "B", "A", "D", "C", "B", "E"]
seacher = "D"
print(seacher in char_list)
#True
是不是干净简单,一行就可以解决问题,真棒
五、使用索引量迭代两个相同的size的可迭代对象
初级
对两个列表中的值进行对应,代码如下
list1 = [1,3,6,2,5]
list2 = [0,1,2,3,4]
for idx in range(len(list1)):
print("value1 =",list1[idx],"value =",list2[idx],sep=" ")
进阶
可以使用zip()函数,将两个可迭代对象的相应配对
list1 = [1,3,6,2,5]
list2 = [0,1,2,3,4]
for i,j in zip(list1,list2):
print("value1 =",i,"value2 =",j,sep=" ")
六、使用if条件更改字符串大小写
初级
给定一个字符串,将大写字母变为小写,反之亦然
input_str = "AbCDeFGhIjkl"
output_str = ""
for i in input_str:
if i.islower():
output_str += i.upper()
elif i.isupper():
output_str += i.lower()
else:
output_str += i
print(output_str)
进阶
我们可以使用swapcase()的方法
input_str = "AbCDeFGhIjkl"
output_str = input_str.swapcase()
print(output_str)
# aBcdEfgHiJKL
总结
今天整理的就暂时先到这里啦,整理不易,你的点赞和关注就是对我最大的支持。有哪里不懂得也可以在评论区指出来哦。