本篇内容介绍了“Python内部函数zip的用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
#zip() 函数
'''
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,
然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,
利用 * 号操作符,可以将元组解压为列表。
zip 语法:
zip([iterable, ...]) #可迭代
'''
a=[0,1,2,3,4]
b=[5,6,7,8,9]
c=[10,11,12,13,14,15,16]
zipped1 = zip(a,b)#打包为元组列表
print(zipped1.__next__())#只能取出一组
print(list(zipped1))#可以全部取出
zipped2 = zip(b,c)#元素个数与最短的列表一致
print(zipped2.__next__())
print(list(zipped2))
zipped3 = zip(a,c)
i= zip(*zipped3)#与zip相反,可理解为解压,返回二维矩阵式
#print(i.__next__())
print(list(i)) #可以全部取出
#案例:
checkio=([ 'X.O', 'XX.', 'XOO']) == 'X'
checkio=([ 'OO.', 'XOX', 'XOX']) == 'O'
checkio=([ 'OOX', 'XXO', 'OXX']) == 'D'
def checkio(result):
rows = result
cols = map(''.join, zip(*rows))
diags = map(''.join, zip(*[(r[i], r[2 - i]) for i, r in enumerate(rows)]))
lines = rows + list(cols) + list(diags)
return 'X' if ('XXX' in lines) else 'O' if ('OOO' in lines) else 'D'
result = ['OOX','XXO','OXX']
rows = result
for i in zip(*rows):
print(i)
“Python内部函数zip的用法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!