2016-05-22 47 views
2

使用列表我有值的兩個非唯一列表,如在Python

["a", "b", "a", "c"] 

["a", "b", "b", "f"] 

我想找到不出現在第二列表的元素第一。

我可以手工編寫這個代碼,但寧願使用內置函數。我無法弄清楚,因爲我一直撞到可排除/不可及的障礙。

+0

如果您的障礙是您的價值觀不可及,請告訴我們您的價值觀是什麼,我們可以幫助您解決問題。 –

+0

我現在明白了。我認爲錯誤信息是指集體對象,而不是其成員。謝謝。 –

回答

8

在這種情況下,將

set(second_list) - set(first_list) 

因爲字符串是哈希的,你可以把它們套。如果你有不可哈希值,那麼告訴我們它們是什麼,我們可能會想出一個解決方法。例如:

  • 您可以使用tuple(the_list)將列表轉換爲元組,可以使用list(the_tuple)返回。
  • 您可以使用tuple(the_set)將一個集合轉換爲一個元組,然後可以使用set(the_tuple)返回。
  • 您可以使用tuple(map(tuple, the_list))將嵌套列表轉換爲嵌套元組,並使用list(map(list, the_tuple))返回。
  • 您可以使用tuple(the_dict.items())將字典轉換爲嵌套元組,並使用dict(the_tuple)返回。
+0

試過這個,它工作。 –

1

[X在數組listB X如果x不在數組listB]

我想這是你可以使用一個非常快的方式。