我似乎无法在数组的子数组中找到字符串

2024-03-29 06:17:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在数组中查找字符串,但即使字符串包含在数组中,当我打印用于查找字符串的变量时,该变量也会出现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,我不明白它为什么这样做。你知道吗


Tags: 字符串代码namefalseadminchecknn数组
3条回答

你可以这样做:

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 = True in [Name in arr for arr in array]
print(check) # prints True

因为当您询问'Admin'是否在数组中时,它不会检查嵌套数组。您必须循环遍历它们以查看其中一个中是否存在'Admin'。你知道吗

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']]
for subArray in array:
    if Name in subArray:
        print subArray

输出:

['Admin', '10', 'NN', 'N']
ls = []
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']]
for i in xrange(len(array)):
   for j in xrange(len(array[i])):
      print i, "...........", j, ".........", ls.append(array[i][j])

if 'Joseph' in ls:
   print 'yes'
else:
   print 'no'

因此,没有'名称'关键字在您的代码,所以我把'约瑟夫'关键字从您的名单

相关问题 更多 >