Python - 搜索列表中的特定元素

时间:2016-05-11 14:20:48

标签: python list

我有一个循环:

 for x in range(0, len(temp)):
    if temp[val] == char:
        print (" %-9r | %10d | %12s" % (char, frequency, huffmanCode[char]))
        val += 1

它应该做的是应该在临时列表中搜索char变量,如果找到它,它将被显示。

例如,如果我输入" google"那么输出应该是:

Character | Frequency | Huffman Code
------------------------------------
'g'       |         2 |           0
'o'       |         2 |          11
'o'       |         2 |          11
'g'       |         2 |           0
'l'       |         1 |         101
'e'       |         1 |         100

但由于某种原因,它没有显示任何东西。我如何搜索我的整个临时列表中的字符?

2 个答案:

答案 0 :(得分:2)

你应该寻找x而不是val的索引吗?如果没有看到您的整个代码/这些变量意味着什么,那么很难说清楚。但是如果temp [val]最初不等于char,它将永远不会增加,因此结果永远不会改变。

试试这个吗?

 for x in range(0, len(temp)):
     if temp[x] == char:
         print (" %-9r | %10d | %12s" % (char, frequency, huffmanCode[char]))
         val += 1

答案 1 :(得分:1)

您可以使用数组对象中的count函数,它将返回项目在列表中显示的次数,如果方法返回0,则可以跳过打印。 像这样:

if temp.count(char) > 0 :
    print (" %-9r | %10d | %12s" % (char, frequency, huffmanCode[char]))