返回信息流大概就是有个list叫做PN 但是里面有重复的元素 所以用list(set(PN))筛出来PN_list 现在想统计每个PN的个数
但是现在的问题是 PN_list[0]的个数正确 其他的都是0 是为什么呀?上代码!
#print PN
PN_list = list(set(PN))
#print(PN_list)
PN_all = ""
for i in range(len(PN_list)):
#print(PN_list[i])
PN_count = str(PN.count(PN_list[i]))
#print(PN_count)
PN = PN_list[i] + ':' + PN_count + '\n'
PN_all +=PN
#print(PN_all)
这是一条镜像帖。来源:北邮人论坛 / python / #8233同步于 2015/8/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
[问题]关于list.count(obj)
cinrry
2015/8/20镜像同步8 回复
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
啊啊啊~~我还在筛出来的list中再建立PN和count的字典呢....本人小白能否求个程序呀><
【 在 t2396156 的大作中提到: 】
: 建议不要用list.count,数据量大,速度相当慢,可以用字典排重,k=list元素,v为出现次数,跑个循环就行。
【 在 cinrry 的大作中提到: 】
: 大概就是有个list叫做PN 但是里面有重复的元素 所以用list(set(PN))筛出来PN_list 现在想统计每个PN的个数
: 但是现在的问题是 PN_list[0]的个数正确 其他的都是0 是为什么呀?上代码!
: [code=py]
: ...................
第九行写错了吧,把PN重新赋值了。
PN_all = ‘’
也不是定义字典啊
In [7]: PN
Out[7]: [1, 2, 2, 4, 3, 1]
In [11]: PN_all = {}
In [12]: for i in range(len(PN_list)):
....: PN_count = str(PN.count(PN_list[i]))
....: PN_all[PN_list[i]] = PN_count
....:
In [13]: PN_all
Out[13]: {1: '2', 2: '2', 3: '1', 4: '1'}
dic = {}
for item in PN_list:
if dic.get(item,-1)<0:
dic[item]=1
continue
dic[item]+=1
for key in dic.keys():
print key,dic[key]
直接写的不知道格式对不对。
【 在 cinrry 的大作中提到: 】
: 啊啊啊~~我还在筛出来的list中再建立PN和count的字典呢....本人小白能否求个程序呀><
from collections import Counter
list = [1, 2, 3, 4, 5, 4, 3, 2, 1, 2, 3, 2, 1]
counter = Counter(list)
print counter
# Counter({2: 4, 1: 3, 3: 3, 4: 2, 5: 1})