日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁(yè) > 科技  > 軟件

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

來(lái)源: 責(zé)編: 時(shí)間:2023-09-20 21:55:07 311觀看
導(dǎo)讀你應(yīng)該遇到過(guò)需要判斷一個(gè)列表是否包含另一個(gè)列表的全部元素的場(chǎng)景吧。這種需求在實(shí)際工作中非常常見(jiàn),比如在數(shù)據(jù)篩選、列表匹配以及集合操作等。下面勇哥給大家分享三個(gè)日常使用到的小技巧。方法一:使用all函數(shù)和生成

你應(yīng)該遇到過(guò)需要判斷一個(gè)列表是否包含另一個(gè)列表的全部元素的場(chǎng)景吧。這種需求在實(shí)際工作中非常常見(jiàn),比如在數(shù)據(jù)篩選、列表匹配以及集合操作等。下面勇哥給大家分享三個(gè)日常使用到的小技巧。Qy528資訊網(wǎng)——每日最新資訊28at.com

Qy528資訊網(wǎng)——每日最新資訊28at.com

方法一:使用all函數(shù)和生成器表達(dá)式

例如從一個(gè)大的數(shù)據(jù)列表中選取滿足特定條件的子集。勇哥舉個(gè)例子:我們需要從一個(gè)商品列表中篩選出庫(kù)存充足的商品:Qy528資訊網(wǎng)——每日最新資訊28at.com

def contains(list1, list2):    return all(item in list1 for item in list2)# 篩選庫(kù)存充足的商品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("有庫(kù)存")else:    print("有庫(kù)存不足的商品")# 輸出 :有庫(kù)存

方法二:使用set函數(shù)和集合運(yùn)算

對(duì)兩個(gè)集合進(jìn)行操作,例如求并集、交集或差集,這種也是很實(shí)用且常用。再舉個(gè)栗子:判斷用戶的興趣愛(ài)好是否與某個(gè)活動(dòng)的標(biāo)簽相匹配:Qy528資訊網(wǎng)——每日最新資訊28at.com

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

方法三:嵌套循環(huán)

有時(shí)候會(huì)遇到一些特殊的場(chǎng)景,比如:需要自定義復(fù)雜的條件判斷邏輯來(lái)判斷列表之間的關(guān)系,這時(shí)候用上面兩種方法不太方便,我們就可以遇事不決先循環(huán)一波試試了。最后一個(gè)栗子:判斷兩個(gè)任務(wù)列表的優(yōu)先級(jí)是否一致:Qy528資訊網(wǎng)——每日最新資訊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("兩個(gè)任務(wù)列表的優(yōu)先級(jí)一致")else:    print("兩個(gè)任務(wù)列表的優(yōu)先級(jí)不一致")# 輸出:優(yōu)先級(jí)一致

以上就是勇哥分享的三種簡(jiǎn)單實(shí)用的處理數(shù)據(jù)的思路及示例代碼,當(dāng)然如果小伙伴們遇到嵌套比較深可能需要全比對(duì)的數(shù)據(jù)或者更復(fù)雜的數(shù)據(jù)要處理的時(shí)候,就可以自由的擴(kuò)展方法或者另辟蹊徑了。Qy528資訊網(wǎng)——每日最新資訊28at.com

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

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 極速Python編程:利用緩存加速你的應(yīng)用程序

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

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 主站蜘蛛池模板: 长泰县| 毕节市| 云霄县| 墨脱县| 莆田市| 历史| 缙云县| 涟水县| 梓潼县| 苏尼特左旗| 鲁甸县| 岳阳市| 祁阳县| 横峰县| 台安县| 莒南县| 波密县| 元阳县| 象山县| 定日县| 大同市| 多伦县| 图们市| 林西县| 嘉义市| 海原县| 凤庆县| 彰化县| 丽江市| 黑山县| 子长县| 哈密市| 瓦房店市| 淄博市| 叙永县| 荆州市| 巫山县| 柘城县| 常宁市| 房山区| 安国市|