2024-04-26 02:49:13 发布
网友
我在任何地方都看不到答案,但我知道这是个愚蠢的问题,所以提前道歉!!你知道吗
我有这样一个清单:
fullList = [("a","/a/"),("b","/b/"),("c","/c/"),("d","/d/"),("e","/e/")]
如果我有这个值,假设是c,那么如何得到数组的索引?你知道吗
如果我使用索引方法,它将不起作用:
listIndex = fullList.index('c')
有什么想法吗?你知道吗
干杯,抱歉如果一个愚蠢的问题。。。你知道吗
您需要索引还是完整值?在第二种情况下:
>>> found = dict(fullList).get('c') >>> print found ("c", "/c/")
列表的index()查找列表元素的相等性,因此您希望提供与您要查找的相等的项。具体来说,在这种情况下,应该是:
listIndex = fullList.index(('c', '/c/'))
如果您真的需要按元组的第一个元素进行搜索,您可以只获取每个项的第一个元素并对其进行索引:
listIndex = [ e[0] for e in fullList ].index('c')
您只需要理解列表并使用in操作:
in
>>> [fullList.index(i) for i in fullList if 'c' in i] [2]
如果您只想检查第一个索引,可以使用:
>>> [fullList.index(i) for i in fullList if i[0]=='c'] [2]
还要注意的是,您可以在列表理解中使用^{}函数,在这里性能更好,index()的顺序是O(n),您可以拒绝额外的搜索!你知道吗
index()
O(n)
>>> [i for i,j in enumerate(fullList) if j[0]=='c'] [2] >>> [i for i,j in enumerate(fullList) if 'c' in j] [2]
您需要索引还是完整值?在第二种情况下:
列表的index()查找列表元素的相等性,因此您希望提供与您要查找的相等的项。具体来说,在这种情况下,应该是:
如果您真的需要按元组的第一个元素进行搜索,您可以只获取每个项的第一个元素并对其进行索引:
您只需要理解列表并使用
in
操作:如果您只想检查第一个索引,可以使用:
还要注意的是,您可以在列表理解中使用^{} 函数,在这里性能更好,
index()
的顺序是O(n)
,您可以拒绝额外的搜索!你知道吗相关问题 更多 >
编程相关推荐