精华内容
参与话题
问答
  • python列表中的元素进行去重操作

    千次阅读 2019-03-10 23:19:28
    列表:["a","a","a","b","b","c","d","d","f"], 要求去除重复的列表数据,达到效果["a","b",&...

    1.案例要求:

    """
    有列表:["a","a","a","b","b","c","d","d","f"],
    要求去除重复的列表数据,达到效果["a","b","c","d","f"]
    """
    

    2.案例分析:
    (1)集合可以去重,列表转为集合,再转回列表。隐患:集合无序,索引会变。
    (2)第一步:引入一个临时空列表,遍历元素列表,如果元素不在临时列表,就加到临时列表,如果临时列表已经有该元素,则不做操作。最后打印新列表即为去重后的数据。

    # 方法一:利用集合去重,不推荐,因为顺序会乱
    list1 = ["a","a","a","b","b","c","d","d","f"]
    list1 = list(set(list1)) # 先将list1转化为set集合去重,再将集合转化为列表
    print(list1)
    
    # 方法二:定义临时空列表,遍历原始列表,保存不重复的元素,最后打印临时列表。
    list2 = ["a","a","a","b","b","c","d","d","f"]
    temp_list = []    # 定义一个临时空列表,用于保存临时数据。
    for i in list2:   # 遍历原列表,判断如果元素不在临时列表,就追加进去,如果在,就不加。
        if i not in temp_list:
            temp_list.append(i)
    
    print(temp_list)
    
    # 方法三:双重循环,外层循环遍历列表,内存循环控制删除重复元素的次数。如果元素个数统计大于1,则执行删除。
    list3 = ["a","a","a","b","b","c","d","d","f"]
    list3.reverse()  # 先反转列表,从后往前删
    for i in list3:    # 外层循环控制每次需要判定的元素
        for _ in range(list3.count(i)):    # 内层循环控制每次执行删除元素的次数,循环多次就彻底删除。
            if list3.count(i) > 1:
                list3.remove(i)    # 如果该元素个数大于1,则执行删除操作
    list3.reverse()      # 最后再反转列表,保证第一次出现的元素顺位保留下来
    print(list3)
    

    3.运行结果:
    在这里插入图片描述
    4.知识点归纳:
    (1)集合去重的功能。
    (2)临时列表的引入,可以解决很多实际的问题。
    (3)如果有要求,要考虑变换过后,原列表内存地址会不会发生改变,考虑会不会占用多余内存空间。例如:方法一,顺序乱了,而且内存地址改变了。方法二,顺序没乱,但多申请了临时变量的内存地址。方法三,顺序没乱,内存地址也没变。

    展开全文
  • 题目:给定一个列表[1,3,4,6,2,3,1,2,3,1],要求对列表进行去重 方法一: 通过遍历,进行去重 a = [1, 3, 4, 6, 2, 3, 1, 2, 3, 1] b = [] for i in a: if i ont in b: b.append(i) print(b) 方法二: 通过集合...

    题目:给定一个列表[1,3,4,6,2,3,1,2,3,1],要求对列表进行去重

    方法一:

    通过遍历,进行去重

    a = [1, 3, 4, 6, 2, 3, 1, 2, 3, 1]
    b = []
    
    for i in a:
        if i ont in b:
            b.append(i)
    
    print(b)
    

    方法二:

    通过集合的无重复元素的性质来进行去重

    a = [1, 3, 4, 6, 2, 3, 1, 2, 3, 1]
    b = set(a)
    a = list(b)
    
    展开全文
  • Python列表去重的几种方法

    万次阅读 2018-04-07 19:12:48
    工作中,面试中经常会碰到列表去重的问题,有必要总结下:方法一: 使用内置set方法来去重>>> lst1 = [2, 1, 3, 4, 1] >>> lst2 = list(set(lst1)) >>&...

    工作中,面试中经常会碰到列表去重的问题,有必要总结下:

    方法一: 使用内置set方法来去重

    >>> lst1 = [2, 1, 3, 4, 1]
    >>> lst2 = list(set(lst1))
    >>> print(lst2)
    [1, 2, 3, 4]

    方法二: 使用字典中fromkeys()的方法来去重

    >>> lst1 = [2, 1, 3, 4, 1]
    >>> lst2 = {}.fromkeys(lst1).keys()
    >>> print(lst2)
    dict_keys([2, 1, 3, 4])

    方法三: 使用常规方法来去重

    >>> lst1 = [2, 1, 3, 4, 1]
    >>> temp = []
    >>> for item in lst1:
    	    if not item in temp:
    		    temp.append(item)	
    >>> print(temp)
    [2, 1, 3, 4]

    方法四: 使用列表推导来去重

    >>> lst1 = [2, 1, 3, 4, 1]
    >>> temp = []
    >>> [temp.append(i) for i in lst1 if not i in temp]
    [None, None, None, None]
    >>> print(temp)
    [2, 1, 3, 4]

    方法五: 使用sort函数来去重

    >>> lst1 = [2, 1, 3, 4, 1]
    >>> lst2.sort(key=lst1.index)
    >>> print(lst2)
    [2, 1, 3, 4]

    方法六: 使用sorted函数来去重

    >>> lst1 = [2, 1, 3, 4, 1]
    >>> lst2 = sorted(set(lst1), key=lst1.index)
    >>> print(lst2)
    [2, 1, 3, 4]

    备注: 前面的几种方法,有几种是不能保证其顺序的,比如用set()函数来处理!

    如果要删除列表列表中的重复项,则同样可以用下面的几种方法来处理

    >>> # 方法一:
    >>> data = [2, 1, 3, 4, 1]
    >>> [item for item in data if data.count(item) == 1]
    [2, 3, 4]
    >>> # 方法二:
    >>> data = [2, 1, 3, 4, 1]
    >>> list(filter(lambda x:data.count(x) == 1, data))
    [2, 3, 4]

    展开全文
  • # 第一种 集合可以去重 先转换成集合再转换成列表 print("方法一:", list(set(lst))) # 作业:使用另外的方式去重(至少两种) # 第二种 lst.sort() del_lst = [] for i in ...
    # 去重
    lst = [1, 2, 3, 2, 3, 4]
    # 第一种  集合可以去重  先转换成集合再转换成列表
    print("方法一:", list(set(lst)))
    
    # 第二种
    lst.sort()
    del_lst = []
    for i in range(len(lst) - 1):
        if lst[i] == lst[i + 1]:
            del_lst.append(lst[i + 1])
    for j in del_lst:
        lst.remove(j)
    print("方法二:", lst)
    
    # 第三种
    new_lst = []
    for k in lst:
        if k not in new_lst:
            new_lst.append(k)
    print("方法三:", new_lst)
    
    # 第四种
    # fromkeys 是把所有的键都赋同样的值(如果不指定内容则默认赋值为None)
    lst1 = []
    dct = dict.fromkeys(lst)
    print(dct)
    for n in dct:
        lst1.append(n)
    print("方法四:", lst1)
    
    # 第五种  第四种方法的简写
    print("方法五:", list(dict.fromkeys(lst)))
    
    
    展开全文
  • python实现列表去重的方法

    千次阅读 2019-06-29 21:14:51
    列表alist=[1,2,2,4,4,6,7],实现去除重复元素。 方法一:首先考虑使用set集合,因为使用集合可以去除重复元素,先使用set转为集合,然后再使用list将集合再变回列表。 alist=[1,2,2,4,4,6,7] b=set(alist) ...
  • python列表去重并排序

    千次阅读 2019-04-11 16:18:48
    # encoding: utf8 ...给列表去重并排序 ''' lis = [1,0,1,6,3,3,4,9,0,7,9,0,2,5,8] # 手写去重方法 def num_made_sort(): num_list = [] for i in lis: if i not in num_list: num_list.append(i)...
  • python列表里的字典元素去重

    千次阅读 2018-08-24 10:56:13
    def list_dict_duplicate_removal(): data_list = [{"a": "123", "b": "321"}, {"a": "123", "b": "321"... r
  • 1 a = [1,1,1,2,3,3,4,5,6,6,6] a1 = [] for i in a: if i not a1: a1.append(i) else: continue 2 a = [1,1,1,1,2,3,4,4,4,5] a1 = set(a) 3 ...a = [1,1,1,1,1,2,3,3,...
  • python列表去重

    2020-04-26 10:16:14
    方法一:list(set([xx,xx,xx])) # set是一个无需不重复元素集合{} s=[1,2,3,3,6,0,9,4] list(set(s)) [0, 1, 2, 3, 4, 6, 9] ...s=[‘a’,‘c’,‘b’,‘b’,‘d’,‘a’,‘h’,‘e’] ...[‘d’, ‘c’, ‘b’, ‘a...
  • python基础--列表去重

    2020-05-03 21:48:24
    python基础–列表去重 在实际操作中,我们很可能会遇到去重问题,所以在这里进行去重操作的总结。另外,在leetcode中也有些重问题,也进行一个总结和梳理。 1.set去重 #set直接去重,但是不能保留 li = [4,3,2,1,1,2...
  • Python杂谈 | (1)Python列表合并、去重和排序

    万次阅读 多人点赞 2018-10-13 14:10:27
    列表去重 五.列表排序 一.列表合并--append() 1.列表对象的append()可以将元素追加到列表中。 2.列表对象的append()可以将另一个列表追加到当前列表中,作为当前列表的一个元素。 二.列表合并--extend() 与...
  • Python列表去重,保留原先顺序的八种方法

    万次阅读 多人点赞 2018-12-01 19:56:00
    有道面试题: 将列表 L = [3, 1, 2, 1, 3, 4]去掉重复的元素,但保留原先顺序。 最后结果应该是:[3, 1, 2, 4] 如果不保留顺序的去重,很好处理,比如用set >>> L = [3, 1, 4, 2, 3] &gt...
  • Python 列表去重

    千次阅读 2019-04-07 15:59:32
    一重列表 1、使用set,结果会乱序 List = [3,3,2,4,4,5] NewList = list(set(List)) print (NewList)#结果:[2, 3, 4, 5] 2、使用字典fromkeys()和keys()方法,结果会乱序 让列表作为字典的key,然后取出所有...
  • python列表去重

    2019-02-28 16:19:52
    面试python开发岗,经常会碰到这样一道面试题,列表去重问题。其在爬虫项目中会得到广泛应用。下面列出几个方法: 1. 利用集合元素唯一性的性质: def DelDupli(L): return list(set(L)) L = [1,3,3,3,4,3,34,...
  • Python列表去重

    2014-08-14 13:22:00
    无聊统计了下列表去重到底有多少种方法。 1.集合 list(set(alist)) 如果要保持顺序: import random if __name__=='__main__': a=[random.randint(0,10) for i in xrange(10)] b=list(set(a)) b....
  • # 定义列表去重返回有序的函数 def set_distinct_sort(list1): """ :param list1: 列表 :return: 返回列表去重后保持原来元素的顺序不变 """ list2 = list(set(list1)) list2....
  • python 列表去重(数组)的几种方法

    万次阅读 2015-07-20 08:42:10
    python 列表就是我们js中的数组了,我们下文整理几个常用的python 列表去重实现方法,非常的简单好用。  在抓取页面图片时,为避免重复抓取,将抓取的img结果(结果集是list类型的)通过集合去重。这里总结了...
  • python 列表去重(数组)的几种方法

    千次阅读 2018-10-13 21:09:47
    python 列表去重(数组)的几种方法 一、方法1 list = [1,2,3,3,4,2,3,4,5,6,7,8,8] news_list = [] for id in list: if id not in newslist: # 当id不在news_list中就添加,在就不添加,达到去重的目的 news_list....
  • python列表去重的两种方法

    千次阅读 2017-01-02 11:00:20
    第一种:L1 = [5, 4, 5, 3, 2, 4, 3, 2, 7, 7] L2 = [] for i in L1: if i not in L2: L2.append(i) >>> print L2 [5, 4, 3, 2, 7] 第二种:L1 = ['c', 'd', 'r', 'd', 'r' ,'a', 'C'] L2 = list(set(L1)) ...
  • python列表去重

    2019-11-21 16:53:39
    尽可能写出列表去重的方案,去重的同时保持顺序不变 lt=[1,1,3,3,3,3,4,2,2,4,5,5,5] # 方法一:新列表去重 lt2=[] for i in lt: if i not in lt2: lt2.append(i) print(lt2) # 方法二:集合去重 lt2=list(set(lt)...

空空如也

1 2 3 4 5 ... 20
收藏数 37,502
精华内容 15,000
关键字:

python列表去重

python 订阅