Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从列表中筛选项目_Python - Fatal编程技术网

Python 从列表中筛选项目

Python 从列表中筛选项目,python,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)] 这给了我一个空项。你有什么想法吗 print([elem for elem i

我有一个如下列表:

<type 'list'>
[('crap', 0), ('jou', 0), ('gaat', 0), ('awesome', 0), ('awesome?', 0),  ('met', 0), ('nou', 0), ('useless', 0), ('bananen', -1.4447848426728962), ('appels', -1.8073549220576042)]
这给了我一个空项。你有什么想法吗

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

您测试了错误的元素

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

  • 您可以检查密钥是否存在
  • 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
    

    索引是基于零的。您需要检查
    elem[0]
    。看起来您应该使用字典。你不必自己查找。
    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