python zip 함수 활용

1590 단어
python에는 내장 함수가 많은데 우리는 익히면 앞으로 비교적 교묘한 운용이 있을 것이다. 여기서 zip 함수의 운용에 대해 이야기한다.먼저 zip 함수의 정의를 말씀드리겠습니다.
zip () 함수는 교체 가능한 대상을 매개 변수로 하고 대상에 대응하는 요소를 하나의 원조로 포장한 다음 이 원조로 구성된 목록을 되돌려줍니다.
만약 각 교체기의 요소 개수가 일치하지 않는다면, 귀환 목록의 길이는 가장 짧은 대상과 같고, * 번호 조작부호를 이용하여 원조를 목록으로 압축할 수 있다.
지금 예를 들어 zip 함수의 운용을 시범해 보자.
구문 구조:
zip([iterable, ...])

4
  • iterabl - 하나 이상의 교체기
  • a=[1,2,3]
    b=[4,5,6]
    zip(a,b)

    다음은 교묘한 운용(힘의 단추에 걸린 간단한 문제)을 말한다.
    문자열 그룹의 가장 긴 공통 접두사를 찾기 위해 함수를 작성합니다.
    공통 접두사가 없는 경우 빈 문자열\"\"을 반환합니다.
    예1:
    입력: ["flower", "flow", "flight"] 출력: "fl"예2:
    입력: ["dog", "racecar", "car"] 출력: "설명: 입력에 공통 접두사가 존재하지 않습니다.설명:
    모든 입력은 소문자 a-z만 포함합니다.
    해결 코드는 다음과 같습니다.
    def longestCommonPrefix(self, strs: List[str]) -> str:
            res=''
            for i in zip(*strs):
                if len(set(i))==1:
                    res+=i[0]
                else:
                    break
            return res

    zip(*strs) 설명
    nums = ['flower','flow','flight']
    for i in zip(*nums):
        print(i)
    
    
    
    
     :
    ('f', 'f', 'f')
    ('l', 'l', 'l')
    ('o', 'o', 'i')
    ('w', 'w', 'g')

    대체적인 사고방식은 이렇다. zip 함수는 목록에 있는 모든 문자열의 같은 위치의 자모를 하나의 원조에 모으면 우리는 집합의 성질로 처리한다. 만약len(set(i)==1은 모든 문자열이 이 위치의 자모가 동일하다는 것을 의미한다. 즉, 이 자모는 공공 접두사 중의 하나라는 것이다.
    최종 결과는 같은 위치의 자모를 똑같이 덧붙이는 것이 가장 큰 공통 접두사이다.

    좋은 웹페이지 즐겨찾기