python字典的查重
2023-05-07 23:42:53
1647 views
问:Python 字典 列表 重复
- 答: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 检查字符串是否有重复
- 答:判断一下set(s.split("")) ==s.split("")
是True的话就不重复,False就是重复
问:python将字典的键和值对换后值重复怎么办
- 答:字典的key值是不可以重复的,如果重复默认取最后一个value值。
如果做 print dict_data 结果是:{'b':'2', 'a':'ddd'}。
key不能重复,但是字典的value值可以是任意类型。
所以可以给‘a’对应的value存成list
dict_data = {'a':['1','3','ddd'], 'b':'2'}
问:如何用python实现两个文件重复数据筛选并统计
- 答:5000w建议你还是用数据库~如果你打算长久用的话.
单单是下面的代码, 就要好几秒
for i in range(100000000):
a = 1
else:
print("ok")
最坏的5000w*5000w=2500000000000000
可能需要几个月的时间... - 答:我没看到悬赏分
悬赏分不如RMB有吸引力
问:python代码查重原理
- 答: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文件中
- 答:这里首先打开 a.txt 读取每一行,把每一行的内容作为字典的 key,然后字典的 value 记录的是重复行出现的次数,d.get 就是取目前的字典的行出现次数的值,默认为 0 就是没有出现,每次出现 +1
然后循环这个字典,如果 key 对应的 value 大于 1 表示重复出现过,就把这个内容写到 b.txt
问:python字典中存在相同的key,如何把这个key对应的值依次输出?
- 答:字典的key值是不可以重复的,如果重复默认取最后一个value值。
如果做 print dict_data 结果是:{'b':'2', 'a':'ddd'}。
key不能重复,但是字典的value值可以是任意类型。
所以可以给‘a’对应的value存成list
dict_data = {'a':['1','3','ddd'], 'b':'2'}
问:python 字典中查找值相同的键
- 答:把这个字典的值当作键,键当作值赋在一个新的字典中,在逐个赋值的过程中判断,按这个思路就有很多种方法了。
- 答:两个for循环嵌套,把每个键都和其他对比,如果有相同键则返回值
当然肯定有更好的方法,你试试看吧 - 答:prehension
- 答: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 中有重复的项
- 答:可以对第二个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} - 答: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 - 答: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
标签: