从lis筛选项目

2024-10-03 04:34:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个列表如下:

<type 'list'>
[('crap', 0), ('jou', 0), ('gaat', 0), ('awesome', 0), ('awesome?', 0),  ('met', 0), ('nou', 0), ('useless', 0), ('bananen', -1.4447848426728962), ('appels', -1.8073549220576042)]

我现在要做的是过滤“bananen”值->;-1.44

但是,如果我这样做:

item = [elem for elem in top_neg if elem[1] == 'bananen']
print(item)

这给了我一个空项目。你觉得这里出了什么问题吗?你知道吗


Tags: gt列表typeitemlistawesomemetcrap
2条回答
print([elem for elem in top_neg if elem[0] == 'bananen'])

你测试错元素了

我认为最好将列表转换为词典,词典的好处包括:

  1. 您可以检查密钥是否存在
  2. Python中dictionary的时间复杂度主要是O(1),因此如果您有一个大的数据集,它将非常快。你知道吗

参见示例:

sample_list = [('crap', 0), ('jou', 0), ('gaat', 0), ('awesome', 0), ('awesome?', 0),  ('met', 0), ('nou', 0), ('useless', 0), ('bananen', -1.4447848426728962), ('appels', -1.8073549220576042)]

sample_dic = dict(sample_list)

sample_dic.get('bananen', -99) 
# -1.4447848426728962

sample_dic.get('banaeeeeeeeee',-99)
# -99

sample_dic.get('appels', -99)
# -1.8073549220576042

相关问题 更多 >