我不知道如何获得某些物品'列表中的位置。
list = [[1,2,3],[4,5,6],[7,8,9]]
如果我想获得' 4'在列表中, 结果应该是这样的。
list[1][0]
或其他表达方式。 谢谢
答案 0 :(得分:1)
如果您正在尝试询问如何从矩阵(2D列表)中索引项目,那么想象一下这样的列表。 [A,B,C]
a = [ 1 , 2 , 3 ]
b = [ 4 , 5 , 6 ]
c = [ 7 , 8 , 9 ]
要访问任何号码,您需要访问它所在的子列表(即首先是a或b或c,然后访问您所选择的子列表中的哪个项目。)
我想说我想要的是第四名。四是在第二个列表中,它是远离第一个索引的一个索引,因此我们使用list[1]
访问整个列表。但是,我们想要这个列表的第一个元素,它是远离第一个元素的零元素,所以我们将它作为[0]来访问,但是在这种情况下a是list [1],所以整体上你想要的语句写作将是:
list[1][0]
另一个例子是如果你想获得数字3. 3在子列表[0]中,我们可以想象它被命名为a,如果我们想从a中访问3,我们会输入[2] 。但是,在这种情况下,我们没有列表' a'而是一个名为list [0]的列表,所以我们输入:
list[0][2].
希望这有帮助!
更新
这是一个简单的python解决方案。它检查矩阵my_list中的每个子列表中是否有四个。
for sub_list in my_list:
if 4 in sub_list:
print(my_list.index(sub_list),sub_list.index(4))
答案 1 :(得分:1)
试试第一个清单。如果一开始你没有成功,请尝试再试一次:
def indices(xss,x):
for i,xs in enumerate(xss):
try:
return i,xs.index(x)
except ValueError:
continue
raise ValueError
例如,
>>> x = [[1,2,3],[4,5,6],[7,8,9]]
>>> indices(x,4)
(1, 0)
顺便说一下 - 你应该避免调用列表变量list
,因为这是内置的名称。
答案 2 :(得分:0)
diffy1 = df.iloc[0:].apply(lambda x: np.sqrt(sum((df.iloc[accepted_indices[0]]-x)**2)), axis=1).values
diffy2 = df.iloc[0:].apply(lambda x: np.sqrt(sum((df.iloc[accepted_indices[1]]-x)**2)), axis=1).values
diffy3 = df.iloc[0:].apply(lambda x: np.sqrt(sum((df.iloc[accepted_indices[2]]-x)**2)), axis=1).values