Python 3.x : Print specific array items

标签 python arrays python-3.x for-loop try-except

我有两个嵌套数组,如下所示:

firstArray=[[1,10],[11,31],[32,40],[41,61],[62,78]]
secondArray=[[1,10],[12,32],[33,39],[41,78]]

我现在想要在firstArray 中搜索secondArray 的元素。 我想要区分两个事件:

1:如果直接找到该元素,我想打印它。

2:如果找到,我想打印前面和后面的元素,或者它跨越的元素/包含它的元素。

例如,对于第二个数组的 [1,10],我想打印第一个数组的[1,10],但对于第二个数组的 [12,32],我想打印第一个数组的 [11,31]和[32,40]。对于 secondaryArray 的 [33,39],我想打印firstArray 的 [32,40] 等等。

我知道,我可以使用嵌套的 for 循环访问两个数组,并且可以通过索引访问元素。如果没有直接点击,我将很难完成该部分。

对于直接点击,我正在执行以下操作:

foundYou=[]
for entry in firstArray:
    for element in secondArray:
        if(entry[0] == element[0]) and (entry[1] == element[1]):
            foundYou.append(element)

我也做了一些关于索引的研究,但不知道如何解决这个问题。我还考虑过使用 <=、>=、< 和 >,但它会打印所有比第一个位置的搜索数字更小的元素,但它会打印比我想要的更多的元素。

我可以使用 map 和另一个数组来“索引”,其值从 1...数组长度开始,但这似乎是实现我想要的结果的一种相当复杂的方法。

提前致谢:)

最佳答案

你可以试试这个,我正在打印该值及其相应的结果。

firstArray=[[1,10],[11,31],[32,40],[41,61],[62,78]]
secondArray=[[1,10],[12,32],[33,39],[41,78]]

foundYou=[]
for second in secondArray:
    for firstindex,first in enumerate(firstArray):
        if second == first:
            foundYou.append(first)
            print(second,":",first)
        else:
            if second[0] >= first[0] and second[1] <= first[1]:
                foundYou.append(first)
                print(second,":",first)
            else:
                try:
                    if second[0] >= first[0] and second[1] <= firstArray[firstindex+1][1] and second[0] < first[1]:
                        foundYou.append(first)
                        foundYou.append(firstArray[firstindex+1])
                        print(second,":",first,firstArray[firstindex+1])
                except IndexError:
                    pass

输出:

[1, 10] : [1, 10]
[12, 32] : [11, 31] [32, 40]
[33, 39] : [32, 40]
[41, 78] : [41, 61] [62, 78]

关于Python 3.x : Print specific array items,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50464273/

相关文章:

c++ - 循环通过 std::vector 从 std::string 数组中查找匹配项,更简单的方法吗?

python - 递增 while 循环在某些测试用例中不起作用

python - 如何引入开关断路器以每 50 行执行一次插入

c - 在 C++ 中填充动态大小的数组并使用值

javascript - 将标识符放入数组内的对象

python - Python 中的元组真的是不可变的吗?

内存优化的 Python 技巧

python - 将数组的数组除以标量数组

python - 使用 python 读取 HDF4 文件 - 多个同名数据集

python - Scrapy错误: TypeError: __init__() got an unexpected keyword argument 'deny'