python - 使用嵌套循环修改python中的数组
问题描述
我有一个数组 p=(1,2,4,5,7,10...) 我想在数组偏离 f=(1,2,3,4,5, 6...)。我曾尝试使用嵌套的 for 循环,但我不知道如何使用 python 制作所需的输出 =(1,2,0,4,5,0,7,0,0,10...)。
到目前为止,这就是我真正得到的一切,但它会在 p[1] 之前使用 f 的所有元素对 p[0] 进行迭代,我不知道如何防止这种情况发生:
for x in f:
for y in p:
if x==y:
print(x)
break
else:
print('0')
谢谢!
解决方案
我建议做p
一个集合,以便快速检查成员资格:
>>> p = (1,2,4,5,7,10)
>>> p_set = set(p)
>>> tuple([i if i in p_set else 0 for i in range(11)])
(0, 1, 2, 0, 4, 5, 0, 7, 0, 0, 10)
推荐阅读
- python - 读取具有多个输入和输出的 CSV 文件
- r - 使用foreach根据级别进行子集化
- angular - git pull 后 Angular npm install 不起作用
- c# - Cefsharp 对话框出现在屏幕外
- python - 使用 zip 将元组按顺序附加到列表中的列表中的更好方法
- flutter - 背后的逻辑是什么,onPressed 在 Flutter 中接受了什么?
- node.js - 使用 brotli 压缩和解压 utf8 字符串
- matlab - 如何使用 MATLAB 获取图形的两个单个节点之间的所有现有最短路径
- elasticsearch - 在弹性搜索中使用 GET API 进行搜索查询
- swift - URL 错误:在展开可选值时意外发现 nil:文件