Python 如何在列表中循环,在相同的索引位置找到值?
我有一个包含智能手机应用程序信息的列表。每个列表(在列表中)都以相同的顺序包含相同类型的信息。Python 如何在列表中循环,在相同的索引位置找到值?,python,list,nested,Python,List,Nested,我有一个包含智能手机应用程序信息的列表。每个列表(在列表中)都以相同的顺序包含相同类型的信息。 [id,name,…] 列表列表如下所示:[[id1,name1,…],[id2,name2,…] 我想访问每个列表中的第10个索引并检查其值 我试过这个,但不起作用。我想象这将迭代每个列表,除了第一个是标题,并选择每个列表中的第10个项目 应用程序中的c_评级[1:][10]: 打印(c_评级) 相反,它会打印出第10个列表中的每个项目 给出的解决方案是: 应用程序数据[1:]中的行的: c_评级
[id,name,…]
列表列表如下所示:[[id1,name1,…],[id2,name2,…]
我想访问每个列表中的第10个索引并检查其值
我试过这个,但不起作用。我想象这将迭代每个列表,除了第一个是标题,并选择每个列表中的第10个项目
应用程序中的c_评级[1:][10]:
打印(c_评级)
相反,它会打印出第10个列表中的每个项目
给出的解决方案是:
应用程序数据[1:]中的行的:
c_评级=第[10]行
打印(c_评级)
我理解这段代码的工作原理。它将过程分为两个步骤。我不明白为什么第一个代码不起作用。任何帮助都将不胜感激 这是由于python表达式的求值顺序。
apps\u数据[1:][10]
按以下顺序计算:
apps\u data[1::][/code>->这提供了一个内部列表列表,其中包含除第一个内部列表以外的所有内部列表。让我们称之为
内部列表
->这是列表列表中的第10个元素。这会给你一个内部列表内部列表[10]
[print(x[10]) for x in apps_data]
这将遍历所有的内部列表,从每个列表中选择第10个元素并打印出来 您的iterable对象是
apps\u data[1:[10]
。这意味着for
循环正在迭代apps\u data[1://code>中的第10项。这是我在@berkelem所想的,但不是它打印出来的。它打印出[id10,name10,…]。所以,它打印第十个列表,而不是所有列表中的第十个项目。你知道这是如何在一行中完成的,还是必须像在解决方案中那样分成两行?我就是这么说的。你的表中的第十项是第十项。如果需要,您可以通过为应用程序数据[1:]中的行写入:print(行[10])
删除一行