首页 > 解决方案 > 如何在嵌套列表中找到最后一次出现的项目?

问题描述

我有一个随机生成的具有类似格式的列表

data = [['item','A'],['colour',1],['colour',3],['item','D']]

我想找到“颜色”最后出现的位置并打印与之关联的数字

for item in data:
    if item[-1] == 'colour':
        print(item[1])

这个循环我现在什么都不打印

标签: python

解决方案


您可以将其更改为:

for item in data[::-1]:
    if item[0] == 'colour':
        print(item[1])
        break

你必须改变三件事。

  • 第一个循环从最后一项迭代到第一项[::-1](您也可以使用.reverse() reverse
  • 并检查子列表中的第一项item[0]是否为"colour". (您[-1]检查子列表中的最后一项,即您案例中的数字)
  • 如果"colour"找到第一个,则循环被break编辑。

推荐阅读