我要求提供一个识别号,例如(6373383-D)和一个图钉。 我有一个这样的嵌套列表:
document.getElementById
如果他在PIN中输入123342344-D和1234,则我必须显示该列表的值。
我的代码是:
cliente = [[0, "Carlos", "Perez Rodriguez", "123342344-D", 4, "ES6621000418401234567891", 1234, 3000, "No"],
[1, "Ana", "Martin Perez", "19786444-E", 7, "ES6000491500051234567892", 6789, 8000, "No"],
[2, "Maria", "Sanchez Agudo", "67893456-A", 2, "ES9420805801101234567891", 1111, 10000, "No"],
[3, "Paco", "Sainz Sanchez", "56782341-B", 2, "ES9000246912501234567891", 9876, 2345, "No"],
[4, "Marcos", "Calvo Rodriguez", "56783452-D", 9, "ES7100302053091234567895", 3456, 8000, "No"]]
我想要类似的东西,我们从来没有使用动态的,我是不允许的
答案 0 :(得分:3)
考虑到cliente
的任何子列表的第四项将包含标识号,而子列表的第七项将包含图钉,则可以打印包含如下项的子列表:
print([k for k in cliente if (k[3]=='123342344-D' and k[6] == 1234)])
或者如果子列表没有排序,请尝试:
print([k for k in cliente if ('123342344-D' in k and 1234 in k)])
答案 1 :(得分:0)
您可以编写动态过滤器功能:
filter_func = lambda id,pin: lambda row: (row[3]==id) and (row[6]==pin )
list(filter(filter_func("123342344-D", 1234), cliente))
结果:
[[0, 'Carlos', 'Perez Rodriguez', '123342344-D', 4, 'ES6621000418401234567891', 1234, 3000, 'No']]
答案 2 :(得分:0)
您可以这样做:
res = [i for i in cliente if i[3]=='123342344-D' and i[6] == 1234]
print(repr(res[0]) if len(res) else 'Not found')