没有通过布尔表达式返回而不是列表解析中的值

时间:2018-12-23 16:31:50

标签: python-3.x list-comprehension

old_list = ['bob', 'steve', 'bob', 'janice', 'jeff', 'jeff', 'marge',]
filter = []

我尝试过的事情

uniq_list = [filter.append(x) for x in old_list if x not in filter]

这仅将None结果放入我的列表。我也尝试了以下方法,但无法完全正常工作

uniq_list
[None, None, None, None, None]

不太确定如何将实际值而不是布尔值传递回列表。我也尝试过类似以下的方法。

uniq_list = [x for x in old_list if x not in filter]
uniq_list = [x if x not in filter for x in old_list]  # there is nothing in filter so i understand why this doesnt work 

我正在努力实现的目标

uniq_list
['bob', 'steve', 'janice', 'jeff', 'marge']

跟进问题

我正在努力完成一些数据查询课程,并使用没有淀粉出版社以及 python技巧的新 serious python 书来学习python。列表推导和生成器都有两个问题:

  1. 如何构建列表推导语句( 例如,如果走了)似乎没有记录..或者我找不到 它。

  2. 我没有掌握或阅读有关何时应该使用的概念 使用列表推导或生成器,而不是普通的for循环。

0 个答案:

没有答案