华南俳烁实业有限公司

python

當(dāng)前位置:中華考試網(wǎng) >> python >> python編程基礎(chǔ) >> 文章內(nèi)容

python對列表中的元素進行去重操作

來源:中華考試網(wǎng)  [2020年12月4日]  【

  1.案例要求

  1

  2

  3

  4

  5

  6

  7

  """

  有列表:["a","a","a","b","b","c","d","d","f"],

  要求去除重復(fù)的列表數(shù)據(jù),達到效果["a","b","c","d","f"]

  """

  2.案例分析:

  (1)集合可以去重,列表轉(zhuǎn)為集合,再轉(zhuǎn)回列表。隱患:集合無序,索引會變。

python課程免費試聽預(yù)約

  • 地區(qū):
  • 姓名:
  • 手機:

  (2)第一步:引入一個臨時空列表,遍歷元素列表,如果元素不在臨時列表,就加到臨時列表,如果臨時列表已經(jīng)有該元素,則不做操作。最后打印新列表即為去重后的數(shù)據(jù)。

  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  11

  12

  13

  14

  15

  16

  17

  18

  19

  20

  # 方法一:利用集合去重,不推薦,因為順序會亂

  list1 = ["a","a","a","b","b","c","d","d","f"]

  list1 = list(set(list1)) # 先將list1轉(zhuǎn)化為set集合去重,再將集合轉(zhuǎn)化為列表

  print(list1)

  # 方法二:定義臨時空列表,遍歷原始列表,保存不重復(fù)的元素,最后打印臨時列表。

  list2 = ["a","a","a","b","b","c","d","d","f"]

  temp_list = [] # 定義一個臨時空列表,用于保存臨時數(shù)據(jù)。

  for i in list2: # 遍歷原列表,判斷如果元素不在臨時列表,就追加進去,如果在,就不加。

  if i not in temp_list:

  temp_list.append(i)

  print(temp_list)

  # 方法三:雙重循環(huán),外層循環(huán)遍歷列表,內(nèi)存循環(huán)控制刪除重復(fù)元素的次數(shù)。如果元素個數(shù)統(tǒng)計大于1,則執(zhí)行刪除。

  list3 = ["a","a","a","b","b","c","d","d","f"]

  list3.reverse() # 先反轉(zhuǎn)列表,從后往前刪

  for i in list3: # 外層循環(huán)控制每次需要判定的元素

  for _ in range(list3.count(i)): # 內(nèi)層循環(huán)控制每次執(zhí)行刪除元素的次數(shù),循環(huán)多次就徹底刪除。

  if list3.count(i) > 1:

  list3.remove(i) # 如果該元素個數(shù)大于1,則執(zhí)行刪除操作

  list3.reverse() # 最后再反轉(zhuǎn)列表,保證第一次出現(xiàn)的元素順位保留下來

  print(list3)

  如今python編程語言市場需求大,薪資待遇上萬盡在咫尺!如果你也想學(xué)習(xí)python技術(shù)可以填寫下面表單,Python學(xué)習(xí)資料限時免費領(lǐng)!

責(zé)編:fushihao
  • 會計考試
  • 建筑工程
  • 職業(yè)資格
  • 醫(yī)藥考試
  • 外語考試
  • 學(xué)歷考試
石城县| 米林县| 富民县| 右玉县| 前郭尔| 香港| 高淳县| 顺平县| 收藏| 英山县| 襄垣县| 都匀市| 新疆| 社旗县| 佛坪县| 南汇区| 连云港市| 霍林郭勒市| 华蓥市| 阿鲁科尔沁旗| 凤冈县| 寻甸| 博乐市| 康平县| 元氏县| 阿鲁科尔沁旗| 鹿邑县| 冷水江市| 慈溪市| 孙吴县| 本溪| 德庆县| 如皋市| 北宁市| 普安县| 蚌埠市| 沙雅县| 湘阴县| 鄂州市| 德昌县| 玉屏|