python - 如何找到一个数组中的哪些元素与另一个数组中的每个元素相加?
问题描述
假设:
reversedPriv = [52,27,13,6,3,2]
array= [9] #For this example we only used one element in the array, assume more elements
var = 0
numA = []
for i in array:
for j in reversedPriv:
while var!= j:
if j < i:
var = var + j
numA.append(j)
numA.sort()
print(numA)
我期待它能够append [3,6]
打印numA
,但它目前什么都不做。我忽略的while循环是否有一些条件?
代码的重点是找出reversedPriv
每个元素的总和array
并将它们附加到列表中numA
。例如,列表中reversedPriv
只有 6 和 3 的总和为 9。因此,numA = [3,6]
目前“数组”只有一个元素,但代码应该能够将其放大 n 个元素。
解决方案
这是一个熊猫方法:
import itertools
import pandas as pd
df = pd.DataFrame(itertools.combinations( [52,27,13,6,3,2], 2))
nums = [9]
df['sum'] = df[0] + df[1]
matches=[]
for num in nums:
matches.append(list(df.loc[df['sum'] == num][0]) + list(df.loc[df['sum'] == num][1]))
matches
# [[6, 3]]
推荐阅读
- php-deployer - Deployer 如何构建我的 JS 应用程序(Yarn)?
- javascript - Jquery:如何使用现有的输入文本值而不使用“change”,“keyup”等交互
- python - 由于内核错误,无法使用 python 3
- html - 垂直对齐 SVG 单选按钮
- java - url put request OkHTTPClient
- c - C中的多线程读取和打印一个非常大的文件
- javascript - SPA React 投资组合的导航
- java - java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“boolean java.util.ArrayList.add(java.lang.Object)”
- javafx - 在场景中添加随机生成的圆圈(大小一致)以表示 JavaFX 中的星星
- java - 有没有办法从另一个应用程序定位和回显 texfield?