繁体   English   中英

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

[英]Python - Searching for a specific element in a 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

但是由于某种原因,它什么也不显示。 如何在整个临时列表中搜索角色?

您应该在寻找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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM