programing

알파벳을 어떻게 반복합니까?

shortcode 2023. 7. 22. 13:47
반응형

알파벳을 어떻게 반복합니까?

  1. 파이썬에서는 단순히 문자를 ++로 사용할 수 있습니까?
  2. 이것을 하는 효율적인 방법은 무엇입니까?

다음과 같은 방법으로 URL을 반복하여 생성하고 싶습니다.

www.website.com/term/#
www.website.com/term/a
www.website.com/term/b
www.website.com/term/c
www.website.com/term/d ... 
www.website.com/term/z 

간단하게 소문자로 된 편리한 문자열을 사용할 수 있습니다.

Python 2 예:

from string import ascii_lowercase

for c in ascii_lowercase:
    # append to your url

Python 3 예:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from string import ascii_lowercase as alc
for i in alc:
    print(f"www.website.com/term/{i}")

# Result
# www.website.com/term/a
# www.website.com/term/b
# www.website.com/term/c
# ...
# www.website.com/term/x
# www.website.com/term/y
# www.website.com/term/z

또는 계속 중첩을 원할 경우 다음과 같이 할 수 있습니다.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
for i in alc:
    print(f"www.website.com/term/{i}")
    for j in alc:
        print(f"www.website.com/term/{i}{j}")

# Result
# www.website.com/term/a
# www.website.com/term/aa
# www.website.com/term/ab
# www.website.com/term/ac
# ...
# www.website.com/term/ax
# www.website.com/term/ay
# www.website.com/term/az
# www.website.com/term/b
# www.website.com/term/ba
# www.website.com/term/bb
# www.website.com/term/bc
# ...
# www.website.com/term/bx
# www.website.com/term/by
# www.website.com/term/bz
# www.website.com/term/c
# www.website.com/term/ca
# www.website.com/term/cb
# www.website.com/term/cc
# ...
# ...
# ...
# www.website.com/term/z
# www.website.com/term/za
# www.website.com/term/zb
# www.website.com/term/zc
# www.website.com/term/zd
# ...
# www.website.com/term/zx
# www.website.com/term/zy
# www.website.com/term/zz

에 더하여string.ascii_lowercase및 기본 제공 기능도 살펴봐야 합니다.ord('a')에 대한 ASCII 값을 제공합니다.'a'그리고.chr(ord('a'))당신에게 줄 것입니다.'a'.

이것들을 사용하면 문자 코드를 통해 증감할 수 있고 충분히 쉽게 앞뒤로 변환할 수 있습니다.ASCII 테이블은 항상 가지고 있는 좋은 책갈피이기도 합니다.

최단 경로

for c in list(map(chr,range(ord('a'),ord('z')+1))):
    do_something(base_url+c)

반복 기능

def plusplus(oldChar):
     return chr(ord(oldChar)+1)
plusplus('a') # output - b

다른 옵션

url=www.website.com/term
my_char=ord('a') # convert char to ascii
while my_char<= ord('z'):
   my_char+=1 # iterate over abc
   my_url=url+chr(my_char)  # convert ascii to char
   do_something(my_url)

@Brian 답변을 기반으로 합니다.

언급URL : https://stackoverflow.com/questions/17182656/how-do-i-iterate-through-the-alphabet

반응형