[英]How to print a specific element of a list in python by searching if a word is in that element?
[英]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.