홈>
공개적으로 공개해야하지만 원래 이름을 볼 수없는 문자열로 이름이 포함 된 데이터 세트로 작업하고 있습니다 (즉, 다른 이름을 구별 할 수 있어야하지만 최종 결과는 다음과 같아야합니다) 원래 데이터 세트에 "John Doe"가있는 "e7fx8yuo")
이 방법에 대한 요구 사항은 해싱 프로세스와 비슷하지만 요구 사항이 적습니다 (즉, 단일 길이 해시에 매핑하기 위해 가변 길이 이름이 필요하지 않음). 그러나 이름은 고유 한 문자열 (두 가지 다른 이름)에 매핑해야합니다 이름은 같은 문자열로 매핑 될 수 없습니다.) 나는 파이썬으로 이것을 작성할 계획이지만, 구현하고자하는 프로세스가 정확히 무엇인지 확실하지 않습니다. 가능하다면 '해시 된'최종 제품 문자열이 github이 저장소 이름 제안 ( "e7fx8yuo"대신 "reimagined-memory")을 생성하는 방식과 유사하게 작동하기를 원합니다. 완전한 단어의 문자열이 기억하기 쉽고 기억하기 쉽기 때문입니다. ). 파이썬에서 나를 위해 이것을 할 수있는 모듈이 있습니까?- 답변 # 1
- 답변 # 2
빠르고 더러운 일이 있습니다
문자열 가져 오기 무작위 가져 오기 데프 id_generator (크기 = 6, 문자 = string.ascii_uppercase + string.digits) : return ''.join (random.choice (chars) for _ in range (size)) #이 함수에 인수가 전달되지 않으면 문자와 숫자로 구성된 6 문자열을 반환합니다. 데프 makeID (이름) : nameDict = {} 나는 이름으로 : var = id_generator () while var in nameDict : # 발생기 결과가 이미 키로 존재하는 경우 고유 한 결과를 얻을 때까지 반복합니다. var = id_generator () nameDict [var] = i # 여기서 키를 생성기 결과로 설정하고 값을 목록에서 현재 이름으로 설정합니다 (이 경우 'i'). print (nameDict,) makeID ([ 'John Doe', '제인 노도', 'Getsum MoDoe'])
출력 :
{ 'H8WIAP': 'John Doe', '4NT7JC': 'Jane NoDoe', '208DBM': 'Getsum MoDoe'}
무작위 생성기는 파이썬에서 대문자와 숫자를 사용하는 임의 문자열 생성에서 나왔습니다
관련 질문
- python : 파이썬에서 문자를 90도 회전하는 방법은 무엇입니까?
- python : 비디오(메모리 파일/바이트 문자열)를 디코딩하고 파이썬에서 프레임별로 단계별로 실행하는 방법은 무엇입니까?
- python : 텍스트 기반 게임의 오류
- python : 파이썬 문자열 목록 반복 문제
- OSX --파이썬이 해시됨(/urs/local/cellar/python/2.7/etc)
- python : 파이썬에서 문자열에서 부분 문자열의 발생 횟수를 찾으려면
- python : 나는 문자열이 불변이라고 생각 했습니까? [복제하다]
- python : 시도 및 제외 목록 사용에 대한 질문
- python : 파이썬 문자열 조정
- python : 문자열 일치 및 바꾸기
의견에서 언급했듯이, 이것은 데이터 마스킹처럼 들립니다. 기본 구현은 다음과 같습니다.
출력 :