作为个人练习,我正在尝试创建自己的小 zip() 函数,该函数采用两个列表并将项目放入元组列表中。换句话说,如果这些是我的 list :
fr = [6,5,4]
tr = [7,8,9]
我希望这样:
[(6,7), (5,8), (4,9)]
这是我的代码:
def zippy(x, y):
zipper = []
for i in x :
for g in y:
t = (i,g)
zipper.append(t)
我得到的是:[(6, 9), (5, 9), (4, 9)]
,
但是当我在函数内部定义列表时,它会按预期工作。任何帮助表示赞赏。
最佳答案
使用索引访问相同索引的项目:
def zippy(x, y):
zipper = []
for i in range(len(x)):
zipper.append((x[i], y[i]))
return zipper
使用 list comprehension :
def zippy(x, y):
return [(x[i], y[i]) for i in range(len(x))]
>>> fr = [6,5,4]
>>> tr = [7,8,9]
>>> zippy(fr, tr)
[(6, 7), (5, 8), (4, 9)]
关于python - 无法在 Python 中创建我自己的 "zip"函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34892533/