python - 来自 python 原理的自定义 Zip 练习
问题描述
这是来自 python 原则网站的挑战。
自定义 zip 内置的 zip 功能“压缩”两个列表。编写您自己的此函数的实现。
定义一个名为 zap 的函数。该函数有两个参数,a 和 b。这些是列表。
您的函数应该返回一个元组列表。每个元组应包含 a 列表中的一项和 b 中的一项。
您可以假设 a 和 b 的长度相等。
如果你不明白,想想拉链。
例如:
zap(
[0, 1, 2, 3],
[5, 6, 7, 8]
)
应该返回:
[(0, 5),
(1, 6),
(2, 7),
(3, 8)]
到目前为止我做了这个:
def zap(a, b):
call_zap = []
for (i,x) in (a,b):
call_zap.append((i,x))
return (call_zap)
并得到了这个答案:
提交错误 您的提交未被接受。这是一个解释:
调用
zap([1, 2], [3, 4])
应该返回 '[(1, 3), (2, 4)]',但它返回了 '[(1, 2), (3, 4)]'
解决方案
我相信 OP 的问题来自这个网站(https://pythonprinciples.com/challenges/Custom-zip/),因为我正在同一个网站上解决挑战,这就是我在谷歌搜索中发现这个问题的方式。
我能够解决这个问题。要解决它,您可以使用 for 循环并在每次迭代时将值附加到空列表。
def zap(a,b):
k=[]
for i in range(len(a)):
for j in range(len(b)):
if i==j:
k.append((a[i],b[j]))
return k
由于两个输入列表的长度相同,您可以使用 i==j 从两个输入列表 a、b 中选择相同索引的元素并将其附加到空列表 k。
推荐阅读
- python - 选择最佳集群数量,图形不“弯腰”,PCA和TSNE之后的集群不连贯
- forms - Delphi“文件,新建,其他文件”菜单中缺少“VCL表单”选项
- excel - 将自动过滤器放在第一行后如何比较两个可见单元格
- html - 如何使下拉100%宽度包含反应js中的另一个下拉?
- r - 在R中的管道中间放置一个for循环
- c# - “ZipArchiveEntry”不包含“ExtractToFile”的定义
- sql - 如何声明数组的元素不可为空?
- windows - 24小时屏保——如何处理巨大的视频
- java - MQTT JAVA 客户端程序 - 当我终止服务器时,第二个客户端显示为“不正常地断开连接”
- javascript - 从 Sqlite Expo 中选择的问题。无法通过钩子函数保存查询返回的数组