안녕하세요 여러분 모두 파이썬 질문이 있습니다.문자열의 각 문자를 한 번만 인쇄하는 방법
주어진 문자열의 각 문자를 한 번만 인쇄하려고합니다. for 루프를 사용하고 a에서 z로 문자를 정렬하려면 어떻게해야합니까?
내가 가진 것;
import string
sentence_str = ("No punctuation should be attached to a word in your list,
e.g., end. Not a correct word, but end is.")
letter_str = sentence_str
letter_str = letter_str.lower()
badchar_str = string.punctuation + string.whitespace
Alist = []
for i in badchar_str:
letter_str = letter_str.replace(i,'')
letter_str = list(letter_str)
letter_str.sort()
for i in letter_str:
Alist.append(i)
print(Alist))
대답 내가 얻을 :
['a']
['a', 'a']
['a', 'a', 'a']
['a', 'a', 'a', 'a']
['a', 'a', 'a', 'a', 'a']
['a', 'a', 'a', 'a', 'a', 'b']
['a', 'a', 'a', 'a', 'a', 'b', 'b']
['a', 'a', 'a', 'a', 'a', 'b', 'b', 'c']....
내가 필요 편지가 추가하기 전에 배열에없는 경우
['a', 'b', 'c', 'd', 'e', 'g', 'h', 'i', 'l', 'n', 'o', 'p', 'r', 's', 't', 'u', 'w', 'y']
오류없이 ...
당신은 베네 수 설정 데이터 구조에서 적합 http://docs.python.org/2/tutorial/datastructures.html#sets - 당신이해야 할 것보다 더 많이 인쇄하고있는 것처럼 보임 (들여 쓰기 참조) –
'print (sorted (set (sentence_str.lower())))' – jfs
@JFSebastian - 멋지지만 구두점이 여전히 포함되어 있습니다 ... –