【发布时间】:2015-09-08 09:50:29
【问题描述】:
我试图在数组中查找字符串,但即使字符串包含在数组中,当我打印用于查找字符串的变量时,变量也会出现 False。任何帮助将不胜感激,下面是代码:
Name='Admin'
array=[['Joseph', '03', '01', 'NN'], ['Seph', '10', '08', '09'], ['Jo', '05', '04', '07'], ['Mark', '01', 'NN', 'NN'], ['BigDave', '00', '02', 'NN'], ['Davy', '03', 'NN', 'NN'], ['Admin', '10', 'NN', 'N']]
check=Name in array
print(check)
这个打印的结果是这个False,我不明白为什么会这样。
【问题讨论】:
-
因为
in array只搜索列表的顶层,而不搜索内部列表。你的意思是例如check = any(Name in subarray for subarray in array)还是any(subarray[0] == Name ...)?或者,重构您的数据 - 字典{'Joseph': ['03', '01', 'nn'], ...}可以让您在O(1)而不是O(n)中查找名称。 -
是的,我会这样做,但这意味着我必须重组我的数据编译器
-
@jonrshape 我还需要能够附加字典
-
你是什么意思“附加字典”?您可以附加到字典内的列表,或添加具有自己列表值的新键。我建议您阅读涵盖数据结构的介绍性教程。
-
向 dict 添加新项目是微不足道的。
theDict[newKey] = newValue其中theValue可以是您可能会使用的列表。
标签: python arrays python-3.x