这是我正在研究的python项目。我还在学习这门语言,但我在这里遇到了一个难题。任何帮助是极大的赞赏。这是我的伪代码:
variable1 = (returned function() value)
listItem = []
<start loop>
If value of variable1 IS NOT in listItem:
listItem.append(assign value from variable1)
else:
go back to start of loop
print listItem(all items)
我很困惑,如果最好在这里使用for,while或if语句。我试过这三个,但我得到了各种错误。我没有看到什么......
答案 0 :(得分:0)
您想将列表转换为唯一列表:
>>> results = function()
>>> unique = []
>>> for result in results:
... if result not in unique:
... unique.append(result)
set
有助于实现唯一性,您可以轻松将其转换为list
:
>>> unique = list(set(results))
然而,这不会保持原始结果的顺序。
Python没有有序集,但它确实有一个有序字典,您可以将其作为有序集使用它来滥用:
>>> from collections import OrderedDict
>>> ordered_unique = OrderedDict((key, key) for key in results).keys()
答案 1 :(得分:0)
目前您只需要if语句,不需要循环或else语句。 如果我理解正确,您希望在listItem中搜索ONE变量(variable1),如果它不包含该变量,则需要将其附加到列表中。但是,似乎你的问题遗漏了一些东西。也许您正在尝试在listItem中搜索多个变量?
答案 2 :(得分:0)
感谢大家的见解。我已经弄清楚了。我需要使用while循环来完成这项任务。这是我的解决方案。
variable0 = <null value>
listItem = [empty list]
variable1 = 0 (required for while loop expression)
while variable1 is less than 0:
variable0 = (returned random function() value)
if variable0 is not in listItem:
Append variable0 value to listItem
increase value of variable1 by 1
print contents of listItem
再次感谢您的帮助。