新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:如何進行python列表加減
python 中對list做減法操作

專注于為中小企業(yè)提供成都網(wǎng)站制作、網(wǎng)站建設、外貿(mào)網(wǎng)站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)阿圖什免費做網(wǎng)站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了數(shù)千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉變。
列表是最常用的Python數(shù)據(jù)類型,它可以作為一個方括號內(nèi)的逗號分隔值出現(xiàn)。
list1 = ['physics', 'chemistry', 1997, 2000] list2 = [1, 2, 3, 4, 5 ] list3 = ["a", "b", "c", "d"]
list可以進行的操作包括索引,切片,加,乘,檢查成員。但是沒有 減 操作。
問題描述
已知:
list1 = [1, 2, 3, 4, 5] list2 = [1, 4, 5]
求:list3 。 list3中包括所有不在list2中出現(xiàn)的list1中的元素。
方法一 可以使用 set(集合)操作
list3 = list(set(list1) – set(list2)) set操作會將一個list轉換成一個集合。 假設:list_t = [1, 2, 3, 1] 那么:list(set(list_t)) = [1, 2, 3] 重復的項就會被刪除。
方法二 list3 = [i for i in list1 if i not in list2] #可用于list分片
這樣寫也很直觀。 但是在list很大的時候,沒有set方法快。 額外知識:a = [[i,j] for i in range(2) for j in range(3)] 這個和“其他方案”非常相似, 都是在[]里面進行判斷和計算。 感覺很方便,至少比下面這樣要方便、要快: a = [] for i in range(2): for j in range(3): a.append([i,j])
某些問題:如果list_tmp = [[1,2],[2,3]]即list里面不是單獨的元素組成,而是list,那么set(list_tmp)會出問題。
推薦學習《python教程》。
文章題目:創(chuàng)新互聯(lián)Python教程:如何進行python列表加減
本文地址:http://www.dlmjj.cn/article/djcpcjg.html


咨詢
建站咨詢
