sourcetip

파이썬에서 코드 한 줄에 n자 문자열을 만들려면 어떻게 해야 합니까?

fileupload 2023. 6. 27. 22:31
반응형

파이썬에서 코드 한 줄에 n자 문자열을 만들려면 어떻게 해야 합니까?

파이썬에서 n자로 된 문자열을 생성해야 합니다.기존 Python 라이브러리에서 이를 달성하기 위한 한 줄 답변이 있습니까?예를 들어, 10글자의 문자열이 필요합니다.

string_val = 'abcdefghij'

동일한 문자를 10회 반복하기

string_val = "x" * 10  # gives you "xxxxxxxxxx"

더 복잡한 것을 원한다면, 예를 들면n무작위 소문자, 여전히 코드 한 줄입니다(가져오기 문을 세지 않고 정의).n):

from random import choice
from string import ascii_lowercase
n = 10

string_val = "".join(choice(ascii_lowercase) for i in range(n))

처음 10개의 소문자는string.lowercase[:10](표준 라이브러리 모듈을 가져온 경우)string물론 이전에;-).

10자의 문자열을 만드는 다른 방법:'x'*10(10자는 모두 소문자입니다.xs;-),''.join(chr(ord('a')+i) for i in xrange(10))(처음 10개의 소문자를 다시 사용), 등;-).

만약 당신이 단지 어떤 편지를 원한다면:

 'a'*10  # gives 'aaaaaaaaaa'

연속 문자(최대 26자)를 원하는 경우:

 ''.join(['%c' % x for x in range(97, 97+10)])  # gives 'abcdefghij'

왜 "한 줄"입니까?어떤 것이든 한 줄에 맞출 수 있습니다.

'a'로 시작하여 매 번 한 글자씩(랩핑 > 26) 증가하기를 원한다고 가정하면 다음과 같습니다.

>>> mkstring = lambda(x): "".join(map(chr, (ord('a')+(y%26) for y in range(x))))
>>> mkstring(10)
'abcdefghij'
>>> mkstring(30)
'abcdefghijklmnopqrstuvwxyzabcd'

이것은 질문에서 약간 빗나갔을 수도 있지만, 생성된 문자열의 무작위성에 관심이 있는 사람들을 위해, 제 대답은 다음과 같습니다.

import os
import string

def _pwd_gen(size=16):
    chars = string.letters
    chars_len = len(chars)
    return str().join(chars[int(ord(c) / 256. * chars_len)] for c in os.urandom(size))

다음 답변을 참조하십시오.random.py더 많은 통찰력을 위한 출처.

반복되는 문자를 사용할 수 있는 경우,*연산자:

>>> 'a'*5

'aaaaa'

언급URL : https://stackoverflow.com/questions/1424005/in-python-how-do-i-create-a-string-of-n-characters-in-one-line-of-code

반응형