pythonでアルファベットのリストの出力
先日受けたアルゴリズム実技検定でアルファベットのリストを作成してそれを利用するような問題が出ていたので自身の備忘録も兼ねてアルファベットのリストの作成方法をまとめました.
基本的にはqiita記事を参考にしているので元記事が気になる人はこちらを見てください.
コード例
まず,コピペ用にアルファベットの全ての小文字を出力する三つのコード例を載せておきます.
import string print(list(string.ascii_lowercase))
print([chr(ord("a")+i) for i in range(26)])
print([chr(i) for i in range(97, 97+26)])
出力はいずれも下記のようになっています.
['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を使った方法
pythonの標準ライブラリのstringを使った方法です.stringではアルファベット以外にも特殊文字や数字に関しても扱うことができます.文字列で出力されるのでlist()でリスト化すれば,アルファベットのリストが手に入ります.
ここでは,stringを使って何を出力できるのかコードとその出力を載せておきたいと思います.
import string #アルファベットの大文字小文字の出力 print(string.ascii_letters) #アルファベットの小文字のみの出力 print(string.ascii_lowercase) #アルファベットの大文字のみの出力 print(string.ascii_uppercase) #数値の文字列の出力 print(string.digits) #16進数で扱う文字列の出力 print(string.hexdigits) #8進法で扱う文字列の出力 print(string.octdigits) #特殊文字列の出力 print(string.punctuation) #上記で扱った文字列の出力 print(string.printable) #スペースや改行など空白に関する文字列の出力 print(string.whitespace)
出力(printableとwhitespace以外に関して)
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789 0123456789abcdefABCDEF 01234567 !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
chrを使った方法
PythonでUnicodeコードポイント(文字コード)の文字列を返してくれるのがchr()です.
ある一文字に対応するUnicodeコードポイントを表す整数値を返してくれるのがord()です.
#chrとordの関係性 print(chr(49)) # "1" print(ord("1")) # 49
この関係性を使うことでアルファベットのリストを出力することができます.
# upper-case A-Z print([chr(i) for i in range(65,65+26)]) print([chr(ord("A")+i) for i in range(26)]) # lower-case a-z print([chr(i) for i in range(97,97+26)]) print([chr(ord("a")+i) for i in range(26)])
競技プログラミングなどでたまにリストを用意しておく必要があるので,今後すぐに見られるようにメモとして記事にしました.