python - 如何在嵌套列表中找到最后一次出现的项目?
问题描述
我有一个随机生成的具有类似格式的列表
data = [['item','A'],['colour',1],['colour',3],['item','D']]
我想找到“颜色”最后出现的位置并打印与之关联的数字
for item in data:
if item[-1] == 'colour':
print(item[1])
这个循环我现在什么都不打印
解决方案
您可以将其更改为:
for item in data[::-1]:
if item[0] == 'colour':
print(item[1])
break
你必须改变三件事。
- 第一个循环从最后一项迭代到第一项
[::-1]
(您也可以使用.reverse()
reverse) - 并检查子列表中的第一项
item[0]
是否为"colour"
. (您[-1]
检查子列表中的最后一项,即您案例中的数字) - 如果
"colour"
找到第一个,则循环被break
编辑。
推荐阅读
- python - 使用来自另一个对象的键保存一个新对象
- azure - 使用 Azure 数据工厂提取本地活动目录数据
- sql - 在插入数据行时创建触发器并检查具有给定范围内的值的特定列
- elixir - 如何在 Elixir Credo 中匹配两条线
- javascript - 我无法使用 css 放大对象```div``` html
- graph - 古道的解决方案加一个超级节点有什么用
- sql - 根据以往任务的表现寻找最佳工作团队
- react-icons - 无法更改反应图标中的 GR 颜色
- automated-tests - Pact 部署后合同验证
- ios - 如何定位 SCNCamera 以使对象“刚好适合”视图?