AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

Python小技巧:判斷一個列表是否包含另一個列表的全部元素

來源: 責編: 時間:2023-09-20 21:55:07 245觀看
導讀你應該遇到過需要判斷一個列表是否包含另一個列表的全部元素的場景吧。這種需求在實際工作中非常常見,比如在數據篩選、列表匹配以及集合操作等。下面勇哥給大家分享三個日常使用到的小技巧。方法一:使用all函數和生成

你應該遇到過需要判斷一個列表是否包含另一個列表的全部元素的場景吧。這種需求在實際工作中非常常見,比如在數據篩選、列表匹配以及集合操作等。下面勇哥給大家分享三個日常使用到的小技巧。23v28資訊網——每日最新資訊28at.com

23v28資訊網——每日最新資訊28at.com

方法一:使用all函數和生成器表達式

例如從一個大的數據列表中選取滿足特定條件的子集。勇哥舉個例子:我們需要從一個商品列表中篩選出庫存充足的商品:23v28資訊網——每日最新資訊28at.com

def contains(list1, list2):    return all(item in list1 for item in list2)# 篩選庫存充足的商品product_list = [{'name': 'Apple', 'stock': 10}, {'name': 'Banana', 'stock': 5}, {'name': 'Orange', 'stock': 8}]required_products = ['Apple', 'Banana']if contains([product['name'] for product in product_list], required_products):    print("有庫存")else:    print("有庫存不足的商品")# 輸出 :有庫存

方法二:使用set函數和集合運算

對兩個集合進行操作,例如求并集、交集或差集,這種也是很實用且常用。再舉個栗子:判斷用戶的興趣愛好是否與某個活動的標簽相匹配:23v28資訊網——每日最新資訊28at.com

# 1. 內置函數def contains(list1, list2):    return set(list2).issubset(set(list1))# 2. 操作符def contains2(list1, list2):    return set(list2) <= set(list1)user_interests = ['籃球', '游泳', '登山', '音樂']event_tags = ['籃球', '足球', '音樂']if contains(user_interests, event_tags):    print("完全匹配")else:    print("不完全匹配")if contains2(user_interests, event_tags):    print("完全匹配")else:    print("不完全匹配")# 輸出: 不完全匹配

方法三:嵌套循環

有時候會遇到一些特殊的場景,比如:需要自定義復雜的條件判斷邏輯來判斷列表之間的關系,這時候用上面兩種方法不太方便,我們就可以遇事不決先循環一波試試了。最后一個栗子:判斷兩個任務列表的優先級是否一致:23v28資訊網——每日最新資訊28at.com

def list_contains(List1, List2):    if len(List1) != len(List2):        return False    for task1, task2 in zip(List1, List2):        if task1['priority'] != task2['priority']:            return False    return Truetasks_1 = [{'name': 'Task 1', 'priority': 1}, {'name': 'Task 2', 'priority': 2}]tasks_2 = [{'name': 'Task 3', 'priority': 1}, {'name': 'Task 4', 'priority': 2}]if list_contains(tasks_1, tasks_2):    print("兩個任務列表的優先級一致")else:    print("兩個任務列表的優先級不一致")# 輸出:優先級一致

以上就是勇哥分享的三種簡單實用的處理數據的思路及示例代碼,當然如果小伙伴們遇到嵌套比較深可能需要全比對的數據或者更復雜的數據要處理的時候,就可以自由的擴展方法或者另辟蹊徑了。23v28資訊網——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-10590-0.htmlPython小技巧:判斷一個列表是否包含另一個列表的全部元素

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 極速Python編程:利用緩存加速你的應用程序

下一篇: C++ 里 ++i 是原子操作嗎?

標簽:
  • 熱門焦點
  • JavaScript 混淆及反混淆代碼工具

    介紹在我們開始學習反混淆之前,我們首先要了解一下代碼混淆。如果不了解代碼是如何混淆的,我們可能無法成功對代碼進行反混淆,尤其是使用自定義混淆器對其進行混淆時。什么是混
  • 學習JavaScript的10個理由...

    作者 | Simplilearn編譯 | 王瑞平當你決心學習一門語言的時候,很難選擇到底應該學習哪一門,常用的語言有Python、Java、JavaScript、C/CPP、PHP、Swift、C#、Ruby、Objective-
  • 深度探索 Elasticsearch 8.X:function_score 參數解讀與實戰案例分析

    在 Elasticsearch 中,function_score 可以讓我們在查詢的同時對搜索結果進行自定義評分。function_score 提供了一系列的參數和函數讓我們可以根據需求靈活地進行設置。近期
  • 一文搞定Java NIO,以及各種奇葩流

    大家好,我是哪吒。很多朋友問我,如何才能學好IO流,對各種流的概念,云里霧里的,不求甚解。用到的時候,現百度,功能雖然實現了,但是為什么用這個?不知道。更別說效率問題了~下次再遇到,
  • 破圈是B站頭上的緊箍咒

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之每年的暑期檔都少不了瞄準追劇女孩們的古偶劇集,2021年有優酷的《山河令》,2022年有愛奇藝的《蒼蘭訣》,今年卻輪到小破站抓住了追
  • 騰訊蓋樓,字節拆墻

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之&ldquo;想重溫暴刷深淵、30+技能搭配暴搓到爽的游戲體驗嗎?一起上晶核,即刻暴打!&rdquo;曾憑借直播騰訊旗下代理格斗游戲《DNF》一
  • ESG的面子與里子

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之三伏大幕拉起,各地高溫預警不絕,但處于厄爾尼諾大&ldquo;烤&rdquo;之下的除了眾生,還有各大企業發布的ESG報告。ESG是&ldquo;環境保
  • 8月見!小米MIX Fold 3獲得3C認證:支持67W快充

    這段時間以來,包括三星、一加、榮耀等等有不少品牌旗下的最新折疊屏旗艦都得到了不少爆料,而小米新一代折疊屏旗艦——小米MIX Fold 3此前也屢屢被傳
  • 華為將推出盤古數字人大模型 可幫助用戶12小時完成數字人生成

    在今日舉行的2023年華為云數字文娛AI創新峰會上,華為云全球Marketing與銷售服務總裁石冀琳表示,華為云將在后續推出盤古數字人大模型,可幫助用戶12小
Top