如何在 Python 中列出字母表

Rayven Esplanada 2023年1月30日 2020年11月7日
  1. 在 Python 中使用模組 string 中的 Utils 列出字母表
  2. 在 Python 中使用 range() 來列出字母表
如何在 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 值作為引數來生成一個字母列表。

Rayven Esplanada avatar Rayven Esplanada avatar

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

相關文章 - Python List