如何在Python中比较两个列表中的值?

丹吉尔市

我有2个清单:

my_values = ['0,78', '0,40', '0,67']

my_list = [
    ['Morocco', 'Meat', '190,00', '0,15'], 
    ['Morocco', 'Meat', '189,90', '0,32'], 
    ['Morocco', 'Meat', '189,38', '0,44'],
    ['Morocco', 'Meat', '188,94', '0,60'],
    ['Morocco', 'Meat', '188,49', '0,78'],
    ['Morocco', 'Meat', '187,99', '0,101'],
    ['Spain', 'Meat', '190,76', '0,10'], 
    ['Spain', 'Meat', '190,16', '0,20'], 
    ['Spain', 'Meat', '189,56', '0,35'],
    ['Spain', 'Meat', '189,01', '0,40'],
    ['Spain', 'Meat', '188,13', '0,75'],
    ['Spain', 'Meat', '187,95', '0,78'],
    ['Italy', 'Meat', '190,20', '0,11'],
    ['Italy', 'Meat', '190,10', '0,31'], 
    ['Italy', 'Meat', '189,32', '0,45'],
    ['Italy', 'Meat', '188,61', '0,67'],
    ['Italy', 'Meat', '188,01', '0,72'],
    ['Italy', 'Meat', '187,36', '0,80'],
]

我有一个代码正在检查以下内容:

  1. 摩洛哥是检查什么index[2] my_listindex[3] my_values == 0,78
  2. 对于西班牙来说它检查什么index[2] my_list index[3] my_values == 0,40
  3. 对于意大利它检查什么index[2] n my_list index[3] my_values == 0,67

现在我有一个问题,如您所见0,78my_values摩洛哥和西班牙都存在,我只想检查摩洛哥。

这是我的代码:

yet_another_list = [i[2] for i in my_list if i[3] in my_values]
print(yet_another_list)

这是我的输出:

['188,49', '189,01', '187,95', '188,61']

这是我的首选输出:

['188,49', '189,01', '188,61']

正如你可以看到我想要index[1]my_values仅被用于Moroccoindex[2]Spain等..请注意,我officla数据集my_lists包含了更多的国家...

#添加。我什至尝试了Pandas,但仍收到相同的输出。

df=pd.DataFrame(my_list)
df['Filter']=np.where([i in my_values for i in df[3]],"Yes","")
my_out_list=list(df[2][df['Filter']=='Yes'])

print(my_out_list)

>> 
['188,49', '189,01', '187,95', '188,61']
达里尔

将原始数据结构与迭代器一起使用。

def get_values(my_list_, *my_values_):
    ''' Finds the desired result using my_list_ and my_values
        my_valuesis one or more list
    '''
    output = []
    # Find values for each list in my_values_
    for my_values__ in my_values_:
         # Create iterators 
        result = []
        my_values_iter = iter(my_values__) # iterator for current list of values
        my_list_iter = iter(my_list_)  # from beginning of my_list_

        v = next(my_values_iter, None)
        i = next(my_list_iter, None)
        while v and i:
            if v == i[3]:
                # found match
                result.append(i[2])
                v = next(my_values_iter, None) # Next value to find in my_values
                i = next(my_list_iter, None)   # Next value to check in my_list
            else:
                # try next value from my_list
                i = next(my_list_iter, None)   # Next value to check in my_list
        output.append(result)
        
     if len(output) == 1:
        return output[0]  # Only single list
    else:
        return tuple(x for x in output) # Output tuple of lists
    

用法

# Single list of values
a = get_values(my_list, ['0,78', '0,40', '0,67'])
print(f'a = {a}') # Output: a = ['188,49', '189,01', '188,61']

# Two list of values (can handle an arbitrary number)
a, b = get_values(my_list, ['0,78', '0,40', '0,67'], ['0,78', '0,10', '0,78'])
print(f'a = {a}, b = {b}') # Output: a = ['188,49', '189,01', '188,61'], b = ['188,49', '190,76', '187,95']

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在python中比较两个列表

来自分类Dev

如何在Python中比较两个以上的列表?

来自分类Dev

如何在Clojure中比较/减去两个列表

来自分类Dev

如何在JUnit中比较两个double列表

来自分类Dev

如何在C#中比较两个列表?

来自分类Dev

如何在javascript中比较两个列表项?

来自分类Dev

如何在shell中比较两个值?

来自分类Dev

如何在python中比较两个时间字段

来自分类Dev

如何在python中比较两个时区?

来自分类Dev

如何在Python中比较两个列表并计算所有匹配项?

来自分类Dev

如何在VBA中的不同工作表中比较两个值?

来自分类Dev

如何在两个不同的表中比较/匹配SQL Server中的值

来自分类Dev

如何在python中不同大小的两个数据帧中比较值对?

来自分类Dev

如何在python 3中比较两个嵌套的json

来自分类Dev

如何在python中迭代比较两个列表?

来自分类Dev

如何在SQL中比较三个相关表中的两个相关列值

来自分类Dev

如何在 Python 中比较列表中的对?

来自分类Dev

如何在Excel 2013中的IF中比较和求和两个单元格的值并使用多个条件

来自分类Dev

如何在C#中比较两个对象列表?

来自分类Dev

如何在Dart中比较两个相等且包含相同对象的列表?

来自分类Dev

如何在LINQ中比较两个匿名变量列表

来自分类Dev

如何在tcl中比较两个列表(包含字符和数字)?

来自分类Dev

如何在Matlab中比较两个未排序的列表?

来自分类Dev

如何在flutter中比较两个列表数据(飞镖)

来自分类Dev

如何在tcl中比较两个列表(包含字符和数字)?

来自分类Dev

如何在Pandas Python 2.7中比较给定DataFrame中的两个单元格

来自分类Dev

如何在javascript中比较两个数组的值

来自分类Dev

如何在露天javascript中比较两个noderefs

来自分类Dev

如何在Java中比较两个图像

Related 相关文章

  1. 1

    如何在python中比较两个列表

  2. 2

    如何在Python中比较两个以上的列表?

  3. 3

    如何在Clojure中比较/减去两个列表

  4. 4

    如何在JUnit中比较两个double列表

  5. 5

    如何在C#中比较两个列表?

  6. 6

    如何在javascript中比较两个列表项?

  7. 7

    如何在shell中比较两个值?

  8. 8

    如何在python中比较两个时间字段

  9. 9

    如何在python中比较两个时区?

  10. 10

    如何在Python中比较两个列表并计算所有匹配项?

  11. 11

    如何在VBA中的不同工作表中比较两个值?

  12. 12

    如何在两个不同的表中比较/匹配SQL Server中的值

  13. 13

    如何在python中不同大小的两个数据帧中比较值对?

  14. 14

    如何在python 3中比较两个嵌套的json

  15. 15

    如何在python中迭代比较两个列表?

  16. 16

    如何在SQL中比较三个相关表中的两个相关列值

  17. 17

    如何在 Python 中比较列表中的对?

  18. 18

    如何在Excel 2013中的IF中比较和求和两个单元格的值并使用多个条件

  19. 19

    如何在C#中比较两个对象列表?

  20. 20

    如何在Dart中比较两个相等且包含相同对象的列表?

  21. 21

    如何在LINQ中比较两个匿名变量列表

  22. 22

    如何在tcl中比较两个列表(包含字符和数字)?

  23. 23

    如何在Matlab中比较两个未排序的列表?

  24. 24

    如何在flutter中比较两个列表数据(飞镖)

  25. 25

    如何在tcl中比较两个列表(包含字符和数字)?

  26. 26

    如何在Pandas Python 2.7中比较给定DataFrame中的两个单元格

  27. 27

    如何在javascript中比较两个数组的值

  28. 28

    如何在露天javascript中比较两个noderefs

  29. 29

    如何在Java中比较两个图像

热门标签

归档