日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

求两个集合的差集代码_求求你了,不要再写循环求两个列表的交集,并集和差集了 | pythonic 小技巧...

發布時間:2025/3/21 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 求两个集合的差集代码_求求你了,不要再写循环求两个列表的交集,并集和差集了 | pythonic 小技巧... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在 Python 中,求兩個列表的交集,并集和差集是經常會遇到的需求,而且也比較簡單。

最容易想到的就是寫循環,對兩個列表分別進行循環,然后判斷元素是否在另一個列表中,求得最終結果。

但這種方法比較 low,沒啥技術含量。身為一名 Python 程序員,一定要寫夠 pythonic 的代碼。

廢話不多說,直接看代碼。

# list_operate.pydef main():list_a = [1, 2, 3, 4, 5]list_b = [4, 5, 6, 7, 8]# 求交集的兩種方式res_a = [i for i in list_a if i in list_b]res_b = list(set(list_a).intersection(set(list_b)))print(f"res_a is: {res_a}")print(f"res_b is: {res_b}")# 求并集res_c = list(set(list_a).union(set(list_b)))print(f"res_c is: {res_c}")# 求差集的兩種方式,在B中但不在A中res_d = [i for i in list_b if i not in list_a]res_e = list(set(list_b).difference(set(list_a)))print(f"res_d is: {res_d}")print(f"res_e is: {res_e}")if __name__ == '__main__':main()

來看一下輸出:

# python3 list_operate.py res_a is: [4, 5] res_b is: [4, 5] res_c is: [1, 2, 3, 4, 5, 6, 7, 8] res_d is: [6, 7, 8] res_e is: [8, 6, 7]

結果還是沒問題的,別一頓操作猛如虎,結果是錯的,那就尷尬了。

總結一下,基本上就是兩種思路:

  • 使用列表表達式
  • 使用 set 的內置方法,再轉換成 list
  • 以上。

    關注公眾號 AlwaysBeta,學習更多 pythonic 小技巧。

    總結

    以上是生活随笔為你收集整理的求两个集合的差集代码_求求你了,不要再写循环求两个列表的交集,并集和差集了 | pythonic 小技巧...的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。