我有以下两个数组,我试图看看是否元素在无效的\u id \u arr存在在有效的\u id \u arr如果它不存在,那么我会形成差异数组。但是从下面的代码中,我在diff数组['id123', 'id124', 'id125', 'id126', 'id789', 'id666']
中看到了以下内容,我希望输出是["id789","id666"]
我在这里做错了什么
tag_file= {}
tag_file['invalid_id_arr']=["id123-3431","id124-4341","id125-4341","id126-1w","id789-123","id666"]
tag_file['valid_id_arr']=["id123-12345","id124-1122","id125-13232","id126-12332","id1new","idagain"]
diff = [ele.split('-')[0] for ele in tag_file['invalid_id_arr'] if str(ele.split('-')[0]) not in tag_file['valid_id_arr']]
电流输出:
['id123', 'id124', 'id125', 'id126', 'id789', 'id666']
预期输出:
["id789","id666"]
试试
sets
:使用集合更有效,但您的主要问题是没有删除有效的\u id \u arr中的后半部分元素
输出:
http://ideone.com/Q9JBw
相关问题 更多 >
编程相关推荐