国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

python中對list做減法操作

2019-11-14 17:39:19
字體:
來源:轉載
供稿:網友

問題描述:假設我有這樣兩個list,
          一個是list1,list1 = [1, 2, 3, 4, 5]
          一個是list2,list2 = [1, 4, 5] 
          我們如何得到一個新的list,list3,
          list3中包括所有不在list2中出現的list1中的元素。
          即:list3 = list1 - list2
          
解決方案:我們可以用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)會出問題。

還要研究:hash函數


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大安市| 裕民县| 长阳| 南岸区| 甘泉县| 宁乡县| 河北区| 莱西市| 九龙县| 澳门| 视频| 绥宁县| 洱源县| 巨鹿县| 鸡泽县| 堆龙德庆县| 泸州市| 西平县| 浦江县| 车致| 纳雍县| 宜兴市| 油尖旺区| 琼海市| 锡林浩特市| 蛟河市| 台东市| 南丰县| 石棉县| 罗田县| 泰安市| 安宁市| 贺州市| 英德市| 乐平市| 太原市| 沙洋县| 文山县| 三原县| 佛教| 南陵县|