파이썬에서 코드 한 줄에 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자는 모두 소문자입니다.x
s;-),''.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
'sourcetip' 카테고리의 다른 글
변경 내용을 커밋의 파일로 되돌리기 (0) | 2023.07.02 |
---|---|
SQL Server에서 기본 키가 필요합니까? (0) | 2023.07.02 |
Firebase: 키에 대한 고유한 숫자 ID를 생성하는 방법은 무엇입니까? (0) | 2023.06.27 |
워드프레스에서 모든 css 파일을 다양한 플러그인으로 결합하는 방법 (0) | 2023.06.27 |
JQuery를 사용하여 Excel 데이터 읽기 (0) | 2023.06.27 |