Alih-alih membuat daftar karakter alfabet seperti ini:
alpha = ['a', 'b', 'c', 'd'.........'z']
Apakah ada cara agar kita dapat mengelompokkannya ke suatu rentang atau sesuatu? Misalnya, untuk angka dapat dikelompokkan menggunakan range()
:
range(1, 10)
string.ascii_lowercase
(tersedia pada keduanya) dan bukanstring.lowercase
(hanya pada py2)Jawaban:
Jika Anda benar-benar membutuhkan daftar:
Dan melakukannya dengan
range
Fitur
string
modul bermanfaat lainnya:sumber
string.ascii_lowercase[::-1]
map
tidak mengembalikanlist
sumber
string.ascii_lowercase
chrange = lambda s: "".join(map(chr, range(*map(ord, s))) + [c[1]])
. Penggunaan:>>> chrange("az") -> 'abcdefghijklmnopqrstuvwxyz'
. Untuk daftar, cukup hapus"".join( )
import string
adalah penjelasan yang panjang?Dalam Python 2.7 dan 3 Anda dapat menggunakan ini:
Seperti @Zaz katakan:
string.lowercase
sudah usang dan tidak lagi berfungsi di Python 3 tetapistring.ascii_lowercase
bekerja di keduanyasumber
string.ascii_letters
,string.ascii_lowercase
,string.ascii_uppercase
semua pekerjaan di python 3+.list(string.ascii_lowercase)
Berikut ini adalah implementasi rentang surat sederhana:
Kode
Demo
sumber
Jika Anda mencari yang setara dengan
letters[1:10]
dari R, Anda dapat menggunakan:sumber
Cetak huruf besar dan kecil dengan python menggunakan fungsi rentang bawaan
sumber
Ini adalah cara termudah yang saya tahu:
#!/usr/bin/python3 for i in range(97, 123): print("{:c}".format(i), end='')
Jadi, 97 hingga 122 adalah angka ASCII yang setara dengan 'a' to dan 'z'. Perhatikan huruf kecil dan kebutuhan untuk menempatkan 123, karena itu tidak akan dimasukkan).
Dalam fungsi cetak pastikan untuk mengatur format
{:c}
(karakter), dan, dalam hal ini, kami ingin mencetak semuanya bersama-sama bahkan tidak membiarkan baris baru di akhir, jadiend=''
akan melakukan pekerjaan.Hasilnya adalah ini:
abcdefghijklmnopqrstuvwxyz
sumber