【问题标题】:how to get specific element in a tuple based on condition如何根据条件获取元组中的特定元素
【发布时间】:2020-06-06 04:49:11
【问题描述】:

试图从包含元组的列表中获取特定元素。

tuple_list= [('D:/test/1_birds_bp.png','D:/test/1_eagle_mp.png'), ('D:/test/2_crocodile_mp.png','D:/test/2_reptiles_bp.png')]

我想获取包含bp的元素

所以预期的输出

'D:/test/1_birds_bp.png' 在第一个元组组中,'D:/test/2_reptiles_bp.png' 在第二个元组组中

我试过了

def get_tuple(tuple_list):

    for a in tuple_list:
        #if (any('bp' in i for i in a)): 
        #bp = [ x for x in a if 'bp' in x ]
        if 'bp' in a:    
            print(a)
        return a
print(get_tuple(tuple_list))  

这给了我

('D:/test/1_birds_bp.png', 'D:/test/1_eagle_mp.png')

如何在元组中循环,得到满足条件的元素?

预期输出

'D:/test/1_birds_bp.png'

'D:/test/2_reptiles_bp.png'

我需要能够以 for 循环的方式访问它们。

Find an element in a list of tuples

【问题讨论】:

  • result = [i for x in tuple_list for i in x if "bp" in i]
  • 列表中的元组是否总是长度为 2?
  • @chatax 是的!但位置可能会改变
  • @jordanm 我需要访问该列表中的一个元素!其中包含bp

标签: python string list tuples


【解决方案1】:
def get_tuple(tuple_list): 
   matches = []
   for t in tuple_list: 
       return tuple([a for a in t if 'bp' in a])

print(get_tuple(tuple_list)) 

【讨论】:

  • 感谢您的解决方案。其实我需要的是如何访问包含bp的那个元素我需要得到那个元素!
  • 那么您的预期输出是什么样的?
  • 是否有可能两个元素都包含'bp'?
  • 我已经编辑了我的答案。如果这是你想要的,请告诉我
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-03
  • 2020-12-13
  • 1970-01-01
  • 2019-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多