Python内蔵関数_zip関数
11932 ワード
1.概念
1.1説明
zip()関数は、
各反復器の要素数が一致しない場合は、リスト長
注意:
Py 3とPy 2ではzip関数が異なります
1.2構文
パラメータの説明:
iter 1つ以上の反復器
ソースの内容:
1.3戻り値 py2.Xは直接タプルリストに戻る. py3.Xメタグループリストのオブジェクトを返すには、listメソッドを手動で実行して変換する必要がある 2.例
zip関数は圧縮をサポートし、解凍もサポートします
1.1説明
zip()関数は、
をパラメータとして使用し、オブジェクト内の対応する要素を各メタグループにパッケージ化し、これらのメタグループからなる
に戻る.各反復器の要素数が一致しない場合は、リスト長
を返し、*番号オペレータを使用してメタグループをリストに解凍できます.注意:
Py 3とPy 2ではzip関数が異なります
zip Python 2 Python 3 : Python 3.x ,zip() 。 , list() 。
1.2構文
zip(iter1 [,iter2 [...]])
パラメータの説明:
iter 1つ以上の反復器
ソースの内容:
class zip(object):
"""
zip(iter1 [,iter2 [...]]) --> zip object
Return a zip object whose .__next__() method returns a tuple where
the i-th element comes from the i-th iterable argument. The .__next__()
method continues until the shortest iterable in the argument sequence
is exhausted and then it raises StopIteration.
"""
def __getattribute__(self, *args, **kwargs): # real signature unknown
""" Return getattr(self, name). """
pass
def __init__(self, iter1, iter2=None, *some): # real signature unknown; restored from __doc__
pass
def __iter__(self, *args, **kwargs): # real signature unknown
""" Implement iter(self). """
pass
@staticmethod # known case of __new__
def __new__(*args, **kwargs): # real signature unknown
""" Create and return a new object. See help(type) for accurate signature. """
pass
def __next__(self, *args, **kwargs): # real signature unknown
""" Implement next(self). """
pass
def __reduce__(self, *args, **kwargs): # real signature unknown
""" Return state information for pickling. """
pass
1.3戻り値
zip関数は圧縮をサポートし、解凍もサポートします
lst01 = ['a','b','c']
lst02 = ['d','e','f']
lst03 = ['g','h','i','j']
# 1.
# 1.1
lst_new_obj01 = zip(lst01,lst02)
print(lst_new_obj01) # py3 zip
# py3 ,zip , , , list
lst_new01 = list(lst_new_obj01)
# 1.2
lst_new_obj02 = zip(lst01,lst03)
lst_new02 = list(lst_new_obj02)
# 1.3 &
lst_new_obj03 = zip(lst01,lst02,lst03)
lst_new03 = list(lst_new_obj03)
print(lst_new01) # [('a', 'd'), ('b', 'e'), ('c', 'f')]
print(lst_new02) # [('a', 'g'), ('b', 'h'), ('c', 'i')]
print(lst_new03) # [('a', 'd', 'g'), ('b', 'e', 'h'), ('c', 'f', 'i')]
# 2
# 2.1 , ,
unzip03_01 = zip(*lst_new_obj03)
unzip03_02 = zip(*lst_new03)
print(unzip03_01) #
print(unzip03_02) #
unzip03_fin = list(unzip03_01)
print(unzip03_fin) # []
# 2.2 py3
print(zip(*zip(lst01,lst02,lst03))) #
print(list(zip(*zip(lst01,lst02,lst03)))) # [('a', 'b', 'c'), ('d', 'e', 'f'), ('g', 'h', 'i')]
# : , , ,