如何在 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