如何在 Python 中列出字母表
本教程將說明如何在 Python 中按範圍列出字母表。
在本教程中,我們要將英語字母的 26 個小寫字母儲存在 Python 列表中。解決此問題的最快方法是利用每個字元的 ASCII 值並使用 Python 中預先存在的函式。
在 Python 中使用模組 string
中的 Utils
列出字母表
Python 模組 string
是現成的,它包含了我們可以用來解決這個問題的預定義常量值。常量 string.ascii_lowercase
包含了所有 26 個字串格式的小寫字元。
如果執行 print(string.ascii_lowercase)
,它將會有如下輸出。
"abcdefghijklmnopqrstuvwxyz"
因此,我們可以使用此常數並將其轉換為字元列表以產生字母列表。
import string
def listAlphabet():
return list(string.ascii_lowercase)
print(listAlphabet())
輸出:
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
如果你希望字母表是大寫的,那麼你應該使用 string.ascii_uppercase
並重新使用上面的程式碼,將產生相同的輸出,但為大寫格式。
在 Python 中使用 range()
來列出字母表
range()
是一個輸出一系列數字的函式。你可以用第一個和第二個引數指定函式的開始和停止時間。
range()
和 map()
map()
是一個接受兩個引數的函式:函式的第二個引數是一個可迭代或集合;第一個引數是一個迭代並處理第二個引數的函式。
我們將使用這兩種方法,用小寫字母的 ASCII 值生成一個字母表列表,並將它們與函式 chr()
對映,將整數轉換為它們的 ASCII 對應值。
def listAlphabet():
return list(map(chr, range(97, 123)))
print(listAlphabet())
range()
用於列出從 97 到 122 的整數。97 是小寫字母 a
的 ASCII 值,122 是代表 z
,所以如果我們使用 map()
和 chr()
進行從 ASCII 對應的字元到對應的字元的轉換,就會成功輸出一個小寫字母的列表。
range()
的第二個引數是 123,因為第二個引數是排他性的,也就是把它作為停止條件。
range()
和 ord()
ord()
實際上是 chr()
的反面,因為它將字元轉換為其 ASCII 對應的字元。
我們將使用 ord()
作為 range()
的引數來生成一個小寫字母的列表。
def listAlphabet():
return [chr(i) for i in range(ord("a"), ord("z") + 1)]
print(listAlphabet())
我們迴圈 range()
的每一個輸出,並使用 chr()
將它們轉換成小寫字母。
兩者會產生相同的輸出。
[
"a",
"b",
"c",
"d",
"e",
"f",
"g",
"h",
"i",
"j",
"k",
"l",
"m",
"n",
"o",
"p",
"q",
"r",
"s",
"t",
"u",
"v",
"w",
"x",
"y",
"z",
]
總而言之,在 Python 中列出字母表的最簡單方法,無論是小寫還是大寫,都是使用預先定義的方法,這些方法可以處理 ASCII 值,並將它們轉換為實際的對應值。你可以使用 string
模組中的常量並將它們轉換為一個列表,或者你可以使用 range()
並使用 ASCII 值作為引數來生成一個字母列表。
Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.
LinkedIn