在列表 python 3 中查找子列表的索引
Finding index of sublist in list python 3
我有一个列表,最初是空的,但用户将子列表附加到列表中。
然后我需要使用子列表的前 2 个元素搜索特定子列表的索引。如果前两个元素是唯一的两个元素,但当用户将更多详细信息附加到子列表中时,这将起作用。
我需要一种方法来仅使用前两个元素来搜索子列表的索引。有任何想法吗?
database=[]
fn=input("Enter the students first name:")
sn=input("Please enter the students surname:")
rr=(any(fn and sn in i for i in database))
if rr==True:
print("true")
pos=(database.index([fn, sn]))
开关:
pos=(database.index([fn, sn]))
有了这个:
pos=[i for i in range(len(database)) if database[i][0]==sn and database[i][1]==fn]
第一项为fn
,第二项为sn
的列表中所有子列表的第returns个位置
您需要找到特定的子列表以将其提供给 index
函数,例如将检查器修改为 return 子列表
for sublist in database:
if fn in sublist and sn in sublist:
index_sublist = sublist
break
然后通过找到的子列表搜索索引
pos = (database.index(index_sublist))
顺便检查一下
fn and sn in i for i in database
在这种情况下,您检查 fn 是否存在并且 sn 在 i 中。尝试
fn in i and sn in i for i in database
此外,还有更多节省时间的方法来存储您的任务值,例如在以 tuple(sublist[:2])
作为键和子列表作为值
的字典中
我有一个列表,最初是空的,但用户将子列表附加到列表中。
然后我需要使用子列表的前 2 个元素搜索特定子列表的索引。如果前两个元素是唯一的两个元素,但当用户将更多详细信息附加到子列表中时,这将起作用。
我需要一种方法来仅使用前两个元素来搜索子列表的索引。有任何想法吗?
database=[]
fn=input("Enter the students first name:")
sn=input("Please enter the students surname:")
rr=(any(fn and sn in i for i in database))
if rr==True:
print("true")
pos=(database.index([fn, sn]))
开关:
pos=(database.index([fn, sn]))
有了这个:
pos=[i for i in range(len(database)) if database[i][0]==sn and database[i][1]==fn]
第一项为fn
,第二项为sn
您需要找到特定的子列表以将其提供给 index
函数,例如将检查器修改为 return 子列表
for sublist in database:
if fn in sublist and sn in sublist:
index_sublist = sublist
break
然后通过找到的子列表搜索索引
pos = (database.index(index_sublist))
顺便检查一下
fn and sn in i for i in database
在这种情况下,您检查 fn 是否存在并且 sn 在 i 中。尝试
fn in i and sn in i for i in database
此外,还有更多节省时间的方法来存储您的任务值,例如在以 tuple(sublist[:2])
作为键和子列表作为值