提高 Python 代码的可读性,你需要知道的十个技巧
1. 字符串反转
字符串反转有很多方法,提高咱们再这里介绍两种:一种是代码的可读性道切片,一种是需知python字符串的reversed方法。
# -!- coding: utf-8 -!- string = hello world # 方法1 new_str = string[::-1] ic(new_str) # 方法二 new_str2 = .join(reversed(string)) ic(new_str2) ic| new_str: dlrow olleh ic| new_str2: dlrow olleh2. 首字母大写
这里咱们也是个技介绍两种方法,区别之处在于**capitalize()**仅是提高首字母大写
**title()**是每个单词开头的首字母都大写
# 首字母大写 string = hello python and world # 方法一 new_str = string.capitalize() ic(new_str) # 方法二 new_str2 = string.title() ic(new_str2) ic| new_str: Hello python and world ic| new_str2: Hello Python And World3. 查询唯一元素
我们利用set的唯一性来确定字符串的唯一元素:
string = hellohellohello new_str = set(string) # set类型 ic(new_str) # 字符串类型 new_str = .join(new_str) ic(new_str) ic| new_str: { l, o, h, e} ic| new_str: lohe4. 变量交换
python中的变量交换比java简单多了,交换两个变量无需定义第三个中间变量,服务器托管代码的可读性道直接交换即可实现。需知
a = hello b = world ic(a+b) # 直接交换两个变量 a,个技 b = b, a ic(a+b) ic| a+b: helloworld ic| a+b: worldhello5. 列表排序
列表排序这里我们也提供两种方式。第一个是提高列表自带的**sort() 方法;第二个是python内置函数 sorted()**方法。
score = [88,代码的可读性道 99, 91, 85, 94, 85, 94, 78, 100, 80] # 方法一 new_score = sorted(score) ic(默认升序:, new_score) score = [57, 29, 11, 27, 84, 34, 87, 25, 70, 60] # 方法二 new_score2 = sorted(score, reverse=True) ic(设置降序, new_score2) ic| 默认升序:, new_score: [78, 80, 85, 85, 88, 91, 94, 94, 99, 100] ic| 设置降序, new_score2: [87, 84, 70, 60, 57, 34, 29, 27, 25, 11]6.列表推导式
使用列表推导式可以快速生成一个列表或者根据列表生成满足需求的列表。
# 生成10个10-100以内随机整数 numbers = [random.randint(10,需知 100) for x in range(10)] ic(numbers) # 输入5折后的价格 price = [800, 500, 400, 860, 780, 520, 560] half_price = [(x*0.5)for x in price] ic(half_price) ic| numbers: [64, 22, 80, 70, 34, 81, 74, 35, 85, 12] ic| half_price: [400.0, 250.0, 200.0, 430.0, 390.0, 260.0, 280.0]7. 合并字符串
合并字符串我们使用string的.join()方法实现。
lists = [hello,个技 world, python, java, c++] # 合并字符串 new_str = .join(lists) ic(new_str) ic| new_str: hello world python java c++8. 拆分字符串
拆分字符串我们使用string的split()方法实现。
string = hello world python java c++ string2 = hello|world|python|java|c++ # 拆分字符串 new_str = string.split( ) ic(new_str) new_str2 = string2.split(|) ic(new_str2) ic| new_str: [hello,提高 world, python, java, c++] ic| new_str2: [hello, world, python, java, c++]9. 回文串检测
回文串是高防服务器指aba、abba、代码的可读性道cccbccc、需知aaaa这种左右对称的字符串。我们可以根据之前提到的切片来检测这种特殊的字符串序列。
str = 20211202 if str == str[::-1]: print(yes) else: print(no) yes10. 统计列表元素出现次数
统计列表中元素各自出现的次数我们使用collections 的Counter方法。
from collections import Counter lists = [a, a, b, b, b, c, d, d, d, d, d] # 统计所有元素出现的次数 counts = Counter(lists) ic(counts) # 统计某一元素出现的次数 ic(counts[d]) # 统计出现最多次数的一个元素 ic(counts.most_common(1)) ic| counts: Counter({ d: 5, b: 3, a: 2, c: 1}) ic| counts[d]: 5 ic| counts.most_common(1): [(d, 5)] 香港云服务器