【问题标题】:How to find specific tuple inside array of tuples?如何在元组数组中找到特定的元组?
【发布时间】:2019-07-17 18:42:23
【问题描述】:

我有一个元组数组,每个元组包含(字符串,字符串),我想在数组中找到特定的元组。

示例:

[("command","ABCDEFG"),("arguments","XYZW"),("time","ERRTY")]

【问题讨论】:

  • “查找”是什么意思?检查数组中是否存在元组?找到它的位置?查找基于它的第一个或第二个元素?还是别的什么?
  • 您是要根据第一个字符串、第二个字符串还是两者都进行查找?它是否会改变您搜索的内容(有时是第一个字符串,有时是两者)?如果没有完全匹配,您是否正在寻找最接近的匹配?

标签: python arrays tuples


【解决方案1】:

使用in 关键字:

('foo', 'bar') in [('foo', 'bar'),('spam', 'eggs')]

【讨论】:

    【解决方案2】:

    您可以将这些元组转换为dict 并按第一个元素搜索:

    list_of_tuples = [("command","ABCDEFG"),("arguments","XYZW"),("time","ERRTY")]
    
    d = dict(list_of_tuples)
    
    print(d['arguments'])
    

    打印:

    XYZW
    

    编辑:要检查字典中是否存在某个键,请使用in 运算符,例如:

    if 'arguments' in d:
        print(d['arguments'])
    else:
        print('Not found!')
    

    【讨论】:

    • 谢谢。这很有帮助。
    • 不错的方法,但由于可能存在 KeyError,最好使用d.get('arguments')。喜欢if d.get('arguments'): print('Yes!') else: print('No!')。或者只是 'arguments' in d 会自动返回一个 True/False
    猜你喜欢
    • 2015-03-01
    • 1970-01-01
    • 2016-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-26
    • 2015-10-11
    相关资源
    最近更新 更多