簡體   English   中英

如何打印一個數組中相對於另一個數組中的值的值

[英]How to print values in one array in relation to the values in the other array

所以我有 2 個 arrays

Arr_1=[a,b,c...]

Arr_2=[d,e,f..]

現在 Arr_2 及其值基本上是通過對 Arr_1 執行一些計算得出的。 現在基本上我想要做的是找出 Arr_1 的第一個/最小值,其中 Arr_2 的值大於某個數字。 誰能指出如何做到這一點?

例如

Arr_1=[1,2,3,4]

Arr_2=[10,20,30,40]

所以現在我設置了Arr_2中的值應該大於15的條件。然后我希望所需的output是Arr_1的第一個值,Arr_2的對應值滿足這個條件-即output應該是2

根據您現在編輯的問題,請在下面嘗試,您可以對其進行修改以滿足您的需要

list1 = [2,3,4,5,6]
list2 = [1,33,4,5,2]

def test(value, items1,items2):

    for x,y in zip(items1,items2):
        if y > value:
            print(f'array1 :{x} array2: {y}')
            return x #<-- breaks on once the is first condition is met

test(15,list1,list2)

output

# array1: 3 array2: 33

您可以使用zip同時遍歷兩個列表,如下所示:

for a_val, b_val in zip(arr1, arr2):
  if (b_val > some_number):
    print('something')

如果這不是您要尋找的內容,那么對您要解決的問題進行更多說明會有所幫助。

如果我正確理解了您的問題,那么由於第二個列表中的值是基於第一個中的某些操作創建的,因此值的索引應該是相同的。 您可以使用enumerate來獲取索引。 這應該有效:

Arr_1=[1,2,3,4]
Arr_2 = [10,20,30,40]
value = 15

for i, x in enumerate(Arr_2):
    if x > value:
       print(Arr_1[i])
       break  

我使用了 break 語句,因為您提到您只需要滿足條件的第一個值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM