新手求教大神:Python如何统计列表中各数值分别为第几次出现

J莳柒 2021-01-29 04:11:14
例:列表为[2,3,2,1,1,3]
如何实现得出的结果为{2:1,3:1,2:2,1:1,1:2,3:2}
...全文
374 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rrrr336 2021-01-30
  • 打赏
  • 举报
回复
lst = [2,3,2,1,1,3]
a = [(lst[i], lst[:i+1].count(lst[i])) for i in range(len(lst))]
print(a)
#[(2, 1), (3, 1), (2, 2), (1, 1), (1, 2), (3, 2)]
cclxpp123 2021-01-29
  • 打赏
  • 举报
回复
lst = [2,3,2,1,1,3]

a = []
b = {}
for x in lst:
    b[x] = b[x]+1 if b.get(x) else 1
    a.append((x, (b[x] if b.get(x) else 1)))
print(a)
shoppo0505 2021-01-29
  • 打赏
  • 举报
回复
用 Window.partitionBy

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧