鱼C论坛

 找回密码
 立即注册
查看: 1938|回复: 3

[已解决]python 列表索引问题求助

[复制链接]
发表于 2017-4-26 16:24:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
列表元素为元组,第一个是用户id,第二个是活动类型,能否根据活动类型music等来创建一个新列表,列表内容为每个活动类型用户的数量,以用户id数为准,比如有4条记录为music的记录,有3个人参与了music,则列表music所应该在的位置输出3,求各位大佬帮忙看看!
最佳答案
2017-4-27 09:52:45
过渡字典的内容
{'party': set([4312112207L]), 'music': set([4312012207L, 4312022207L]), 'film': set([4312012207L, 4314122078L]), 'others': set([4311012207L, 4311312207L])}

最后的结果
{'party': 1, 'music': 2, 'film': 2, 'others': 2}
搜狗截图17年04月26日1612_1.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-4-26 16:52:20 | 显示全部楼层
按照你说的,如果一条记录有重复的就算成1条对吧,如果是这样,那我写的这个就可以了
看我的例子和代码
  1. egg = [(12345,"music"),(2345,"music"),(12345,"movie"),(12345,"music")]

  2. def fuc(egg):
  3.   dic = {}
  4.   for each in egg:
  5.     dic[each[1]] = []
  6.   for i in egg:
  7.     if i[0] not in dic[i[1]]:
  8.       dic[i[1]].append(i[0])
  9.   for n in dic:
  10.     dic[n] = len(dic[n])
  11.   print(dic)
  12.   
  13. fuc(egg)

  14. >>>{'movie': 1, 'music': 2}
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-27 09:51:29 From FishC Mobile | 显示全部楼层
testlist = [
    (4312012207, 'music'),
    (4312022207, 'music'),
    (4312012207, 'film'),
    (4312012207, 'music'),
    (4312112207, 'party'),
    (4312012207, 'music'),
    (4311012207, 'others'),
    (4312012207, 'music'),
    (4314122078, 'film'),
    (4312012207, 'music'),
    (4311312207, 'others'),
    (4312012207, 'music'),
]
guodu = {}
res = {}
for i in testlist:
    #如果类型不存在于过渡字典中
    #证明该类型的集合还没有初始化
    if i[1] not in guodu:
        guodu[i[1]] = {i[0]}
    else:
        guodu[i[1]].add(i[0])

for i in guodu.keys():
    res[i] = len(guodu[i])
print(res)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-27 09:52:45 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
过渡字典的内容
{'party': set([4312112207L]), 'music': set([4312012207L, 4312022207L]), 'film': set([4312012207L, 4314122078L]), 'others': set([4311012207L, 4311312207L])}

最后的结果
{'party': 1, 'music': 2, 'film': 2, 'others': 2}
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-27 05:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表