python字典的查重

python字典的查重

问:Python 字典 列表 重复
  1. 答:x={'a': ['a','aa','aaa']}
    x['a'] = x['a'] * 4
    x['a'].sort()
    print x
    得到{'a':['a','a','a','a','aa','aa','aa','aa','aaa','aaa','aaa','aaa']}
问:python 检查字符串是否有重复
  1. 答:判断一下set(s.split("")) ==s.split("")
    是True的话就不重复,False就是重复
问:python将字典的键和值对换后值重复怎么办
  1. 答:字典的key值是不可以重复的,如果重复默认取最后一个value值。
    如果做 print dict_data 结果是:{'b':'2', 'a':'ddd'}。
    key不能重复,但是字典的value值可以是任意类型。
    所以可以给‘a’对应的value存成list
    dict_data = {'a':['1','3','ddd'], 'b':'2'}
问:如何用python实现两个文件重复数据筛选并统计
  1. 答:5000w建议你还是用数据库~如果你打算长久用的话.
    单单是下面的代码, 就要好几秒
    for i in range(100000000):
    a = 1
    else:
    print("ok")
    最坏的5000w*5000w=2500000000000000
    可能需要几个月的时间...
  2. 答:我没看到悬赏分
    悬赏分不如RMB有吸引力
问:python代码查重原理
  1. 答:a=['python',1,2,3,1,6,'a','a',3,3,3,'a','python','3','8']
    b=list(set(a))
    cf=[]
    for i in b:
    cf.append(a.count(b))
    for i in range(len(b)):
    print(b[i],'一共有',cf[i],'个',sep='')
问:用python找出一个a.txt文件中的重复数据,并将重复数据输出成另一个b.txt文件中
  1. 答:这里首先打开 a.txt 读取每一行,把每一行的内容作为字典的 key,然后字典的 value 记录的是重复行出现的次数,d.get 就是取目前的字典的行出现次数的值,默认为 0 就是没有出现,每次出现 +1
    然后循环这个字典,如果 key 对应的 value 大于 1 表示重复出现过,就把这个内容写到 b.txt
问:python字典中存在相同的key,如何把这个key对应的值依次输出?
  1. 答:字典的key值是不可以重复的,如果重复默认取最后一个value值。
    如果做 print dict_data 结果是:{'b':'2', 'a':'ddd'}。
    key不能重复,但是字典的value值可以是任意类型。
    所以可以给‘a’对应的value存成list
    dict_data = {'a':['1','3','ddd'], 'b':'2'}
问:python 字典中查找值相同的键
  1. 答:把这个字典的值当作键,键当作值赋在一个新的字典中,在逐个赋值的过程中判断,按这个思路就有很多种方法了。
  2. 答:两个for循环嵌套,把每个键都和其他对比,如果有相同键则返回值
    当然肯定有更好的方法,你试试看吧
  3. 答:prehension
  4. 答:m = {'a':'123', 'b':'234', 'c':'123', 'd':'245', 'e':'234' }
    for k, v in m:
    if m[v]:
    m[v].append(k)
    else:
    m[v] = []
问:如何找出 python list 中有重复的项
  1. 答:可以对第二个list的元素进行遍历,检查是否出现在第二个list当中,如果使用表理解,可以使用一行代码完成任务。
    list1 = [1,2,3,4,5]
    list2 = [4,5,6,7,8]
    print [l for l in list1 if l in list2]
    # [4,5]
    如果每一个列表中均没有重复的元素,那么还有另外一种更好的办法。首先把两个list转换成set,然后对两个set取交集,即可得到两个list的重复元素。
    set1 = set(list1)
    set2 = set(list2)
    print set1 & set 2
    # {4,5}
  2. 答:def finddupl(lst):
        """找出 lst 中有重复的项
            (与重复次数无关,且与重复位置无关)
        """
        exists, dupl = set(), set()
        for item in lst:
            if item in exists:
                dupl.add(temp)
            else:
                exists.add(temp)
        return dupl
  3. 答:l = [1,1,2,2,2,3,3,3,3,5,6,4,6,4,5,5,5]
    d = {}
    for x in set(l):
    d[x] = l.count(x)
    print d
点击进入下载PDF全文

相关文章

QQ咨询