Saya baru mengenal Python, berasal dari Java dan C. Bagaimana cara menambah karakter? Di Java atau C, karakter dan int secara praktis dapat dipertukarkan, dan dalam loop tertentu, sangat berguna bagi saya untuk dapat melakukan penambahan karakter, dan indeks array berdasarkan karakter.
Bagaimana saya bisa melakukan ini dengan Python? Sudah cukup buruk tidak memiliki tradisional untuk (;;) looper - adakah cara saya dapat mencapai apa yang ingin saya capai tanpa harus memikirkan ulang seluruh strategi saya?
for
lingkaran:for i in range(50): do_something_with(i)
. Ayolah, itu tidak terlalu buruk !![''.join(i) for i in itertools.product(string.ascii_lowercase, repeat=2)]
Jawaban:
Di Python 2.x, cukup gunakan fungsi
ord
danchr
:Python 3.x membuatnya lebih terorganisir dan menarik, karena perbedaan yang jelas antara byte dan unicode. Secara default, "string" adalah unicode, sehingga yang di atas berfungsi (
ord
menerima karakter Unicode danchr
memproduksinya).Tetapi jika Anda tertarik pada byte (seperti untuk memproses beberapa aliran data biner), semuanya menjadi lebih sederhana:
sumber
"cukup buruk tidak memiliki tradisional untuk (;;) looper" ?? Apa?
Apakah Anda mencoba melakukannya
Atau mungkin Anda menggunakan
string.uppercase
ataustring.letters
?Python tidak memilikinya
for(;;)
karena seringkali ada cara yang lebih baik untuk melakukannya. Itu juga tidak memiliki matematika karakter karena itu juga tidak perlu.sumber
Saya berasal dari PHP, di mana Anda dapat menambahkan karakter (A ke B, Z ke AA, AA ke AB, dll.) Menggunakan operator ++. Saya membuat fungsi sederhana yang melakukan hal yang sama dengan Python. Anda juga dapat mengubah daftar karakter menjadi apa pun (huruf kecil, huruf besar, dll.) Yang Anda butuhkan.
sumber
Ada cara untuk menambah karakter menggunakan
ascii_letters
fromstring
package yangascii_letters
merupakan string yang berisi semua alfabet Inggris, huruf besar dan kecil:Juga bisa dilakukan secara manual;
sumber
Periksa ini: MENGGUNAKAN UNTUK LOOP
for a in range(5): x='A' val=chr(ord(x)+a) print(val)
OUTPUT: ABCBDE
sumber
keluaran:
sumber