Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 比较列表并获得计数_Python_List - Fatal编程技术网

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年发生变化