o bc @sRdZddlmZddlmZddlmZddlm Z m Z m Z Gdddej Z dS) a7 Fixer that changes zip(seq0, seq1, ...) into list(zip(seq0, seq1, ...) unless there exists a 'from future_builtins import zip' statement in the top-level namespace. We avoid the transformation if the zip() call is directly contained in iter(<>), list(<>), tuple(<>), sorted(<>), ...join(<>), or for V in <>:. ) fixer_base)Node)python_symbols)NameArgListin_special_contextc@s eZdZdZdZdZddZdS)FixZipTzN power< 'zip' args=trailer< '(' [any] ')' > [trailers=trailer*] > zfuture_builtins.zipcCs||rdSt|r dS|d}d|_g}d|vr-dd|dD}|D]}d|_q'ttjtd|gdd}ttjtdt|gg|}|j|_|S) NargstrailerscSsg|]}|qS)clone).0nr r ,/usr/lib/python3.10/lib2to3/fixes/fix_zip.py 'sz$FixZip.transform..zip)prefixlist) should_skiprr rrsymspowerrr)selfnoderesultsr r rnewr r r transforms  zFixZip.transformN)__name__ __module__ __qualname__ BM_compatiblePATTERNskip_onrr r r rrs  rN)__doc__r rpytreerpygramrr fixer_utilrrrConditionalFixrr r r rs