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

时间:2021-07-18 23:19:22

标签: python

我只是 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'

已经感谢您的帮助!

3 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

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

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

相关问题