首頁 > 軟體

分享10提高 Python 程式碼的可讀性的技巧

2022-03-03 13:01:04

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 olleh'
'''

2. 首字母大寫

這裡咱們也是介紹兩種方法,區別之處在於**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 World'
'''

3. 查詢唯一元素

我們利用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: 'lohe'
'''

4. 變數交換

python中的變數交換比java簡單多了,交換兩個變數無需定義第三個中間變數,直接交換即可實現

a = 'hello'
b = 'world'
ic(a+b)

# 直接交換兩個變數
a, b = b, a
ic(a+b)

'''
ic| a+b: 'helloworld'
ic| a+b: 'worldhello'
'''

5. 列表排序

列表排序這裡我們也提供兩種方式。第一個是列表自帶的**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. 迴文串檢測

迴文串是指abaabbacccbcccaaaa這種左右對稱的字串。我們可以根據之前提到的切片來檢測這種特殊的字串序列

str = '20211202'

if str == str[::-1]:
    print('yes')
else:
    print('no')

'''
yes
'''

10. 統計列表元素出現次數

統計列表中元素各自出現的次數我們使用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)]
'''

到此這篇關於分享10提高 Python 程式碼的可讀性的技巧的文章就介紹到這了,更多相關提高 Python 程式碼可讀性內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com