求两个集合的差集代码_求求你了,不要再写循环求两个列表的交集,并集和差集了 | pythonic 小技巧...
生活随笔
收集整理的這篇文章主要介紹了
求两个集合的差集代码_求求你了,不要再写循环求两个列表的交集,并集和差集了 | pythonic 小技巧...
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在 Python 中,求兩個(gè)列表的交集,并集和差集是經(jīng)常會(huì)遇到的需求,而且也比較簡(jiǎn)單。
最容易想到的就是寫循環(huán),對(duì)兩個(gè)列表分別進(jìn)行循環(huán),然后判斷元素是否在另一個(gè)列表中,求得最終結(jié)果。
但這種方法比較 low,沒(méi)啥技術(shù)含量。身為一名 Python 程序員,一定要寫夠 pythonic 的代碼。
廢話不多說(shuō),直接看代碼。
# 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()來(lái)看一下輸出:
# 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]結(jié)果還是沒(méi)問(wèn)題的,別一頓操作猛如虎,結(jié)果是錯(cuò)的,那就尷尬了。
總結(jié)一下,基本上就是兩種思路:
以上。
關(guān)注公眾號(hào) AlwaysBeta,學(xué)習(xí)更多 pythonic 小技巧。
總結(jié)
以上是生活随笔為你收集整理的求两个集合的差集代码_求求你了,不要再写循环求两个列表的交集,并集和差集了 | pythonic 小技巧...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql的字符集编码_MySQL的字符
- 下一篇: mysql用if判断关联的表_mysql