【问题标题】:Search for a string inside a tuple, inside a list, inside a dictionary在元组内、列表内、字典内搜索字符串
【发布时间】:2017-11-30 22:20:08
【问题描述】:

如果我有这样的字典:

people = {'comedians': [('123456', 'Stephen Merchant'),
                        ('666999', 'Ricky Gervais'),
                        ('987654', 'Karl Pilkington')],
          'actors': [('366845', 'Bob DeNiro'),
                     ('475684', 'Christopher Walken')]
          }

如何搜索people['comedians']中是否存在字符串“123456”?

我知道我可以使用people['comedians'][0][0] 直接访问该元素,但是当给定列表中的多个元组时,我看不到如何搜索它是否存在。

我不需要返回与号码关联的名称,只要它存在即可。

【问题讨论】:

  • 遍历列表并检查元组键值
  • 先生您好。 itzafugazi,试试这个代码,people = {'comedians': [('123456', 'Stephen Merchant'), ('666999', 'Ricky Gervais'), ('987654', 'Karl Pilkington')], 'actors ': [('366845', 'Bob DeNiro'), ('475684', 'Christopher Walken')] } #搜索值变量。 search_val = '123456' for i in people: for j in range(len(people[i])): if (people[i][j][0]==search_val): print(people[i][j] [0],"找到值。") else: print("Not Found!")

标签: python list dictionary tuples


【解决方案1】:

您可以将any 与生成器一起使用:

if any(tup[0] == '123456' for tup in people['comedians']):
    print('found 123456') 

【讨论】:

    猜你喜欢
    • 2022-01-03
    • 2022-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多