我有一个在其子列表中包含字符串类型项的列表。
mylist = [["Apple"],["Apple"],["Grapes", "Peach"],["Banana"],["Apple"], ["Apple", "Orange"]]
我想获取仅具有Apple
的子列表的索引。
这是我到目前为止尝试过的:
get_apple_indices = [i for i, x in enumerate(list(my_list)) if x == "Apple"]
print(get_apple_indices)
实际输出:
[]
预期输出:
[0,1,4]
答案 0 :(得分:1)
也许将每个元素与单个项目列表SelectMany
进行比较,而不是将['Apple']
对象与list
进行比较。
string
答案 1 :(得分:0)
假设由于某些原因您确实确实需要匹配字符串而不是列表,这是一个解决方案。
match_string = "Apple"
get_matching_indices = [i for i, x in enumerate(list(mylist)) if len(x) == 1 and x[0] == match_string]
您可以看到它检查了长度为1的子列表(如果只有“ Apple”,那么它的长度必须为1),然后检查是否第一个(唯一)项与子列表匹配。字符串。