如何将列表中的特定项目调用到另一个列表



我只是python的初学者,我想挑战自己,所以我创建了一个数据库作为一个列表,其中包含id和密码列表,例如:

database =[['hosni', '66741'], ['merdali', 'mkemal'], ['ahmet', '123'], ['ahmethan', '6669']]

我想知道数据库中id的索引号,所以我尝试了这个:

for i in range(len(database)):
if database[i].index('merdali')==0:
print(i)

然而,我得到的是:error:ValueError: 'merdali' is not in list重点是,程序不应该独立运行整个列表并检查条件是否满足,如果满足,则打印";i〃;我要求的价值?如果代码工作正常,我会写以下内容来访问密码:

database[1][1]=='mkemal'

谢谢你的帮助!

您可以使用列表理解来分离id,然后在新创建的列表上使用.index()

[item[0] for item in database].index("merdali")

为了在学习更高级的科目时遵循您的结构,

>>> for i, x in enumerate(database):
...   if x[0] == 'merdali':
...     print(i)
...     break
...
1
>>>

它就像next()理解一样简单:

index = next(l[1] for l in database if l[0] == "hosni")

顺便说一句,字典是更适合数据库的选择。

最新更新