p = [['a','b','c'],['x','y','z']]
如何获取包含字符串(char)'a'的列表索引?
列表中的'a'不起作用,或者至少我无法弄清楚。
答案 0 :(得分:1)
使用in
,但在子列表中,而不在列表的全局列表中。与enumerate
组合以获取匹配列表的索引
p = [['a','b','c'],['x','y','z']]
idx = [i for i,sublist in enumerate(p) if 'a' in sublist]
为您提供索引列表。这里我们只有一个元素:
>>> idx
[0]
您可以使用相同的技术来计算子列表BTW中a
的索引(使用idx = [i for i,sublist in enumerate(p) if 'a' in sublist]
)
要获取唯一值或None
,只需对生成器理解进行一次迭代即可:
idx = next((i for i,sublist in enumerate(p) if 'a' in sublist),None)
答案 1 :(得分:0)
尝试一下:
list_count = 0
for x in list:
list_count += 1
if 'a' in x:
print ("Index in sublist" %(x.index('a')))
print("Index of outer list" %(list_count))
答案 2 :(得分:0)
如果将最大嵌套深度设置为2,则可以使用以下代码获取两个索引。
ViewBag.result =response.Content.ReadAsAsync<IEnumerable<Absence().Result;
输出:
p = [['a','b','c'],['x','y','z']]
def get_indices(p, search_for='a'):
return [(i, sublist.index(search_for)) for i,sublist in enumerate(p) if search_for in sublist]
print('a', get_indices(p, search_for='a'))
print('b', get_indices(p, search_for='b'))
print('c', get_indices(p, search_for='c'))
print('x', get_indices(p, search_for='x'))
print('y', get_indices(p, search_for='y'))
print('z', get_indices(p, search_for='z'))
print('k', get_indices(p, search_for='k'))