.join()이란 무엇이며 문자열 연결에서 어떻게 작동하나요?
Python의 .join() 메서드는 문자열에 일반적으로 사용됩니다. 연쇄. 그러나 제공된 예제를 테스트했을 때 예상치 못한 결과가 나타났습니다. 이 메소드의 목적과 사용법을 이해하면 왜 그렇게 작동했는지 명확하게 알 수 있습니다.
.join() 메소드는 문자열에서 작동하며 반복 가능한 요소를 인수로 사용합니다. 연결하는 동안 반복 가능 항목의 각 요소 사이에 지정된 문자열을 삽입합니다.
예:
",".join(["a", "b", "c"]) # Output: 'a,b,c'
제공된 예에서:
array.array('c', random.sample(string.ascii_letters, 20 - len(strid))) .tostring().join(strid)
tostring() 메서드는 문자 배열을 바이트열류 객체로 변환합니다. 그런 다음 이 바이트열류 객체는 문자열 "595"와 함께 .join()에 대한 입력으로 사용됩니다.
그러나 이해해야 할 중요한 점은 문자열 "595"가 다음 항목의 목록으로 처리된다는 것입니다. 개별 문자(예: ["5", "9", "5"]) 따라서 ".join()"은 이 목록에서 작동하여 각 문자 사이에 바이트열류 객체를 삽입합니다.
5wlfgALGbXOahekxSs9wlfgALGbXOahekxSs5 ^ ^ ^
출력의 각 "5", "9", "5"는 삽입을 나타냅니다. 원래 문자열의 문자 사이에 바이트열 객체를 연결합니다.
의도한 연결을 달성하려면 연산자를 대신 사용할 수 있습니다.
array.array('c', random.sample(string.ascii_letters, 20 - len(strid))) .tostring() + strid
이 접근 방식은 바이트열을 직접 연결합니다. 문자열 "595"를 사용하여 문자 사이에 삽입하지 않고 원하는 출력을 생성합니다.
위 내용은 문자열과 바이트열류 객체를 연결할 때 `.join()`이 예기치 않은 결과를 생성하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!