国产探花免费观看_亚洲丰满少妇自慰呻吟_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函數


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 商水县| 辰溪县| 饶河县| 文水县| 松滋市| 剑阁县| 沐川县| 甘德县| 台前县| 浦北县| 班玛县| 越西县| 建水县| 深泽县| 广平县| 博乐市| 济源市| 行唐县| 甘南县| 蓬安县| 博乐市| 博客| 乐平市| 阜康市| 丰原市| 东山县| 贵德县| 姜堰市| 广河县| 疏附县| 石河子市| 桐城市| 龙口市| 新津县| 永康市| 呼和浩特市| 衡阳县| 门源| 靖宇县| 金沙县| 县级市|