成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

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

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

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

例如從一個大的數據列表中選取滿足特定條件的子集。勇哥舉個例子:我們需要從一個商品列表中篩選出庫存充足的商品:

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函數和集合運算

對兩個集合進行操作,例如求并集、交集或差集,這種也是很實用且常用。再舉個栗子:判斷用戶的興趣愛好是否與某個活動的標簽相匹配:

# 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("不完全匹配")

# 輸出: 不完全匹配

方法三:嵌套循環

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

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 True

tasks_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("兩個任務列表的優先級不一致")

# 輸出:優先級一致

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

責任編輯:趙寧寧 來源: 測試玩家勇哥
相關推薦

2016-12-26 15:23:21

戴爾

2012-01-12 10:09:55

Elementary 思路

2011-03-28 14:02:07

MirahJava對手

2020-05-17 14:52:22

大數據人工智能技術

2022-12-03 18:21:13

列表Python元素

2021-06-16 12:03:49

WindowsLinux游戲

2022-03-24 14:58:02

Java散列表編程語言

2021-05-29 07:13:26

微軟Nobelium網絡攻擊

2024-01-15 00:35:23

JavaScript框架HTML

2011-11-10 09:46:41

云計算云管理

2018-12-05 09:00:46

DevOps持續交付持續集成

2022-03-14 10:02:03

散列表鏈表哈希表

2024-05-16 12:03:54

Python代碼開發

2023-04-25 15:46:51

Python字符串

2012-03-02 09:22:11

程序員

2011-11-15 10:16:04

Linux操作系統

2011-11-14 09:41:10

Linux Mint

2017-05-26 18:06:47

2009-06-11 10:59:19

netbeans提示

2024-05-08 07:40:20

ChatGPT訓練數據預測
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产午夜精品一区二区三区四区 | 台湾佬成人网 | 337p日本欧洲亚洲大胆 | 国产成人综合网 | 亚洲国产成人精品女人久久久野战 | 黄色a三级 | 羞羞视频免费在线 | 国产美女永久免费无遮挡 | 久久亚洲精品视频 | 欧美日韩福利视频 | 一本色道精品久久一区二区三区 | 欧洲一区在线观看 | 欧美一级免费看 | 男人电影天堂 | 中文字幕在线精品 | 国产精品视频一区二区三区四蜜臂 | 国产精品久久久亚洲 | 国产一区二区美女 | 国产精品一区二区三区久久 | 亚洲高清视频在线观看 | 日本成人一区二区 | 精品国产色 | 成人亚洲精品久久久久软件 | 欧美精品久久久久久久久老牛影院 | 久久中文视频 | 欧美一级片在线看 | 99精品欧美一区二区蜜桃免费 | 久久草在线视频 | 91免费版在线观看 | 精品一区二区三区91 | 高清视频一区二区三区 | 亚洲国产一区二区三区四区 | 国产专区在线 | 亚洲午夜视频在线观看 | 亚洲一区二区网站 | 超碰在线97国产 | 精品久久久久久久久久久久 | 99精品视频一区二区三区 | 一区二区三区精品视频 | 日韩欧美在线观看一区 | 免费在线观看一区二区 |