Python 比较列表并获得计数
我有三张单子Python 比较列表并获得计数,python,list,Python,List,我有三张单子 year= [2001, 2002, 2005, 2002, 2004, 2001, 2001, 2002, 2003, 2003, 2002, 2002, 2003, 2004, 2005, 2003, 2004, 2005, 2004, 2004 ] indviduals= [12, 23, 24, 28,30, 15, 17, 18, 18, 19, 12, 15, 12, 12, 12, 15, 15, 15, 12, 12] employers= ['a', 'b', '
year= [2001, 2002, 2005, 2002, 2004, 2001, 2001, 2002, 2003, 2003, 2002, 2002, 2003, 2004, 2005, 2003, 2004, 2005, 2004, 2004 ]
indviduals= [12, 23, 24, 28,30, 15, 17, 18, 18, 19, 12, 15, 12, 12, 12, 15, 15, 15, 12, 12]
employers= ['a', 'b', 'c', 'd', 'e', 'a', 'a', 'b', 'b', 'c', 'b', 'a', 'c', 'd', 'e', 'a', 'a', 'a', 'a', 'b']
当我运行下面的脚本时,我可以获得列表中的各个员工。我想做的是
答:[12,15,17,15]2001年
如果我能做到这一点,我想得到的只是长度
for index, item in enumerate(year):
for i in np.unique(employers[index]):
count=0
#print(i)
#j=indviduals[index]
count +=1
print(i)
你可以使用列表理解 查找雇主列表中匹配元素为a的所有个人 如果你想数一数,那么
sum(1 for x in employers if x == 'a')
否则,我建议使用一个元组列表,您可以更容易地进行筛选,而不是存储平行列表您可以使用列表理解 查找雇主列表中匹配元素为a的所有个人 如果你想数一数,那么
sum(1 for x in employers if x == 'a')
否则,我建议您使用一个元组列表,这样您就可以更容易地进行筛选,而不必存储平行列表为您的所有雇主这样做怎么样?使用内置dict的方法 哪张照片
{'a': (12, 15, 17), 'b': (), 'c': (), 'd': (), 'e': ()}
为你所有的雇主做这件事怎么样?使用内置dict的方法 哪张照片
{'a': (12, 15, 17), 'b': (), 'c': (), 'd': (), 'e': ()}
如果你正在使用numpy,有没有理由你有三个单独的列表?不是真的。可以转换为ArrayI如果你使用numpy,有没有理由你有三个单独的列表?不是真的。可以转换为arrayyes,但如何用“年”来表示?所以基本上对于2001年,雇主a有这些雇员,雇主b有这些雇员,etcAdd和年[i]==2001到条件a,你可以为每个雇主字符串重写相同的行。。。如果你真的想要一个分组查询,那么Pandas或一个合适的SQL数据库会对你有帮助是的,SQL或Pandas会有帮助,但要想通过编程解决这个问题。我知道这听起来很奇怪,但从更大的角度来看,我需要在多年内找出哪个员工去了哪个雇主。这是我在关系数据库中找不到的东西,可以说是动态的。坦率地说,我需要用它来构造转换矩阵。是的,但你如何用“年”来条件化它?所以基本上对于2001年,雇主a有这些雇员,雇主b有这些雇员,etcAdd和年[i]==2001到条件a,你可以为每个雇主字符串重写相同的行。。。如果你真的想要一个分组查询,那么Pandas或一个合适的SQL数据库会对你有帮助是的,SQL或Pandas会有帮助,但要想通过编程解决这个问题。我知道这听起来很奇怪,但从更大的角度来看,我需要在多年内找出哪个员工去了哪个雇主。这是我在关系数据库中找不到的东西,可以说是动态的。坦率地说,我需要用它来构造转换矩阵。卡纳克,你从哪里得到的?集合模块?@Ipt。没有。不,这个解决方案是错误的,因为它将为每个雇主提供相同的精确的12、15、15。这是错误的。你想让它们独一无二吗?我不确定,因为你的例子a:[12,15,17,15,…]包含两个15是的,对不起。在目前的情况下,2001年雇主“b”、“c”、“d”等不应该有12、15、17个人。这可能会在2002年发生变化。卡纳克,你是从哪里得到这条口述的?集合模块?@Ipt。没有。不,这个解决方案是错误的,因为它将为每个雇主提供相同的精确的12、15、15。这是错误的。你想让它们独一无二吗?我不确定,因为你的例子a:[12,15,17,15,…]包含两个15是的,对不起。在目前的情况下,2001年雇主“b”、“c”、“d”等不应该有12、15、17个人。这可能在2002年发生变化