Python : AZ 범위를 인쇄하는 방법?


110

1. 인쇄 : abcdefghijklmn

2. 매초 : acegikm

3. urls {hello.com/, hej.com/, ..., hallo.com/}의 색인에 추가 : hello.com/a hej.com/b ... hallo.com/n


6
"초보자"질문에 대해 이상하게도 다양한 답변을 얻을 수 있습니다. 내가 타이핑 할 수 있다는 사실은 내가 "파이썬"을 할 수 있다는 것을 의미하지는 않습니다. 답변 해주신 모든 분들께 감사 드리며-gnibbler 덕분에 일을 간단하고 특별하게 유지하십시오.
hhh dec

2
다양한 답변이 아닙니다. 두 종류입니다. 하나의 용도 rangechr()다른 하나는 string많은 사람들이 생각하지 않는 에서 준비된 목록 입니다.
Lennart Regebro 2010

답변:


191
>>> import string
>>> string.ascii_lowercase[:14]
'abcdefghijklmn'
>>> string.ascii_lowercase[:14:2]
'acegikm'

URL을 작성하려면 다음과 같이 사용할 수 있습니다.

[i + j for i, j in zip(list_of_urls, string.ascii_lowercase[:14])]

1
나는 string.ascii_lowercase가 이미 파이썬 2.x에서 작동했다고 믿으므로 항상 ascii_lowercase를 사용하십시오.
johk95

1
@ johk95는 실제로 str.lowercase로케일에 따라 다르므로 처음에는 최선의 선택이 아닙니다. 나는 내 대답에 교체 한
존 라 Rooy에게

안녕하세요, 영어로만 제공되는지 여부를 알려 주시겠습니까? 다른 언어에도 동일하게 적용 할 수 없습니까? 감사합니다. 감사합니다
Michael Schroter

48

이것이 숙제라고 가정하면 ;-)-라이브러리 등을 호출 할 필요가 없습니다. 아마도 다음과 같이 chr / ord와 함께 range ()를 사용할 것으로 예상 할 것입니다.

for i in range(ord('a'), ord('n')+1):
    print chr(i),

나머지는 range ()로 조금 더 연주하십시오.


23

힌트 :

import string
print string.ascii_lowercase

for i in xrange(0, 10, 2):
    print i

"hello{0}, world!".format('z')


12

원하는 값으로 목록 가져 오기

small_letters = map(chr, range(ord('a'), ord('z')+1))
big_letters = map(chr, range(ord('A'), ord('Z')+1))
digits = map(chr, range(ord('0'), ord('9')+1))

또는

import string
string.letters
string.uppercase
string.digits

이 솔루션은 ASCII 테이블을 사용 합니다 . ord문자에서 ASCII 값을 가져오고chr 그 반대의 경우도 마찬가지입니다.

목록에 대해 알고있는 내용 적용

>>> small_letters = map(chr, range(ord('a'), ord('z')+1))

>>> an = small_letters[0:(ord('n')-ord('a')+1)]
>>> print(" ".join(an))
a b c d e f g h i j k l m n

>>> print(" ".join(small_letters[0::2]))
a c e g i k m o q s u w y

>>> s = small_letters[0:(ord('n')-ord('a')+1):2]
>>> print(" ".join(s))
a c e g i k m

>>> urls = ["hello.com/", "hej.com/", "hallo.com/"]
>>> print([x + y for x, y in zip(urls, an)])
['hello.com/a', 'hej.com/b', 'hallo.com/c']

string.letters가 Python 3에서 제거되었으며 정확히 동일하지 않은 string.ascii_letters 만 사용 가능합니다.
jonespm

8
import string
print list(string.ascii_lowercase)
# ['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']

1
이것을 파이썬 3에서 튜플 (불변)으로 만들기 위해 :tuple(string.ascii_lowercase)
Alex Willison

6
import string
print list(string.ascii_lowercase)
# ['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']

for c in list(string.ascii_lowercase)[:5]:
    ...operation with the first 5 characters

4
myList = [chr(chNum) for chNum in list(range(ord('a'),ord('z')+1))]
print(myList)

산출

['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']

StackOverflow에 오신 것을 환영합니다. 이것이 질문에 대한 완전한 답인 이유를 더 명확하게 설명하십시오.
Jeroen Heier

감사. 나는 당신이 이것을 만드는 방법을 좋아합니다.
hmacias

2
#1)
print " ".join(map(chr, range(ord('a'),ord('n')+1)))

#2)
print " ".join(map(chr, range(ord('a'),ord('n')+1,2)))

#3)
urls = ["hello.com/", "hej.com/", "hallo.com/"]
an = map(chr, range(ord('a'),ord('n')+1))
print [ x + y for x,y in zip(urls, an)]

2

이 질문에 대한 답은 간단합니다. ABC라는 목록을 다음과 같이 만드십시오.

ABC = ['abcdefghijklmnopqrstuvwxyz']

참조해야 할 때마다 다음을 수행하십시오.

print ABC[0:9] #prints abcdefghij
print ABC       #prints abcdefghijklmnopqrstuvwxyz
for x in range(0,25):
    if x % 2 == 0:
        print ABC[x] #prints acegikmoqsuwy (all odd numbered letters)

또한 당신의 장치를 깨기 위해 이것을 시도하십시오 : D

##Try this and call it AlphabetSoup.py:

ABC = ['abcdefghijklmnopqrstuvwxyz']


try:
    while True:
        for a in ABC:
            for b in ABC:
                for c in ABC:
                    for d in ABC:
                        for e in ABC:
                            for f in ABC:
                                print a, b, c, d, e, f, '    ',
except KeyboardInterrupt:
    pass


1

이것은 두 번째 질문입니다. string.lowercase[ord('a')-97:ord('n')-97:2]왜냐하면 97==ord('a')-조금 배우고 싶다면 나머지는 스스로 알아 내야하기 때문입니다 ;-)


1

이게 도움이 되길 바란다:

import string

alphas = list(string.ascii_letters[:26])
for chr in alphas:
 print(chr)

0

gnibbler의 답변에 대해.

Zip 기능, 전체 설명 , 반환 a list of tuples, where the i-th tuple contains the i-th element from each of the argument sequences or iterables. [...]구조는 목록 이해력 , 매우 멋진 기능입니다!


0
list(string.ascii_lowercase)

['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']

0

그것을하는 또 다른 방법

  import string
  pass

  aalist = list(string.ascii_lowercase)
  aaurls = ['alpha.com','bravo.com','chrly.com','delta.com',]
  iilen  =  aaurls.__len__()
  pass

  ans01 = "".join( (aalist[0:14]) )
  ans02 = "".join( (aalist[0:14:2]) )
  ans03 = "".join( "{vurl}/{vl}\n".format(vl=vjj[1],vurl=aaurls[vjj[0] % iilen]) for vjj in enumerate(aalist[0:14]) )
  pass

  print(ans01)
  print(ans02)
  print(ans03)
  pass

결과

abcdefghijklmn
acegikm
alpha.com/a
bravo.com/b
chrly.com/c
delta.com/d
alpha.com/e
bravo.com/f
chrly.com/g
delta.com/h
alpha.com/i
bravo.com/j
chrly.com/k
delta.com/l
alpha.com/m
bravo.com/n

다른 답변과 다른 점

  • 임의 수의 기본 URL을 반복합니다.
  • URL을 순환하고 글자가 다 떨어질 때까지 멈추지 마십시오.
  • enumerate목록 이해력 및 str.format과 함께 사용
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.