我的问题是:
我有一个元组列表(a,b,c),我想找到以给定的'a'和'b'开头的第一个元组的索引。你知道吗
示例:
列表=[(1,2,3),(3,4,5),(5,6,7)]
我想要,给定a=1,b=2,返回0(索引(1,2,3))
我找到了一个解决方案,但效率很低:
index0(list) # returns a list of all first elements in tuples
index1(list) # returns a list of all second elements in tuples
try:
i = index0.index(a)
j = index1.index(b)
if i == j:
print(i)
您可以使用^{} :
输出:
使用生成器表达式可以通过调用gen.exp上的} 返回每个元组的索引和元组本身:
next
来返回第一个匹配元组的索引。^{如果找不到包含给定值的元组,则会出现错误。你知道吗
另一方面,如果要收集所有符合条件的元组,可以使用列表理解。你知道吗
这是一种容错方法。注意,如果找不到任何匹配的元组,则返回-1:
相关问题 更多 >
编程相关推荐