Python:一次搜索列表1索引中的列表

时间:2018-01-10 17:51:05

标签: python list

我是一个非常新的python编码器,并希望通过列表条目1到1获得一些帮助。在我当前的代码中,我在主要"选票中有多个列表"列表,并希望一次每个条目1。如果第一个条目是1,则can1v1将+ = 1。如果它是2,can1v2将+ = 1。如果它是3 can1v3 + = 1。

这将继续列表中的每个位置(如果第一个lis的第二个索引是1,can2v1 + = 1,如果它是sa 2 can2v2 + = 1,如果它是sa 3 can2v3 + = 1并且这将一直持续到每个列表的最后一个位置,即它是1 2或3,can5vsomething将+ = 1.我希望代码继续为主选票列表中的每个列表执行此操作。任何人都可以帮我解决每个列表和单独位置的问题吗?我的代码如下: pastebin.com/Pi3NwWaq 这是清单:

[['1', '2', '3', '0', '0'], 
 ['1', '3', '0', '2', '0'], 
 ['1', '2', '3', '0', '0'], 
 ['0', '3', '2', '0', '1'],  
 ['1', '3', '0', '2', '0'],  
 ['2', '0', '3', '1', '0'],  
 ['0', '0', '2', '1', '3'],  
 ['0', '1', '2', '3', '0'],  
 ['0', '1', '0', '2', '3'],  
 ['2', '3', '1', '0', '0'],  
 ['3', '2', '0', '0', '1'],  
 ['0', '1', '3', '2', '0'],  
 ['0', '0', '1', '2', '3'],  
 ['0', '0', '3', '2', '1'],  
 ['1', '2', '3', '0', '0'],  
 ['2', '1', '3', '0', '0'],  
 ['0', '3', '2', '1', '0'],  
 ['0', '2', '3', '0', '1'],  
 ['1', '2', '3', '0', '0'],  
 ['1', '0', '0', '3', '2'],  
 ['2', '1', '3', '0', '0'],  
 ['3', '1', '2', '0', '0'],  
 ['2', '3', '0', '1', '0'],  
 ['0', '0', '3', '1', '2'],  
 ['0', '3', '1', '0', '2'],  
 ['2', '1', '0', '0', '3'],  
 ['2', '0', '0', '1', '3'],  
 ['2', '0', '0', '1', '3'],  
 ['3', '0', '1', '0', '2']]

3 个答案:

答案 0 :(得分:0)

要回答您的问题,您可以访问以下列表中的项目:

A

我会把剩下的留给你。

P.S。

使用dicts会更容易

编辑: 试试这个

ballots=[['1', '2', '3', '0', '0'], ['1', '3', '0', '2', '0'], ...['3', '0', '1', '0', '2']]
sub_ballot=ballots[0] #this gets the first sub list, you'll have to iterate through them all
vote=sub_ballot[0]  #this gets the first vote in the first sub_ballot list, you'll also have to iterate through these

请注意,我将成为sub_ballot列表中的投票索引,它将从1开始,而不是正常的0.

答案 1 :(得分:0)

您可以索引特定条目,例如:

ballots[i][j]

条目在第i个列表中,第j个条目(从零开始计数)。

要遍历所有内容,嵌套的for循环应该起作用:

for sub_ballot in ballots:
    for vote in sub_ballot:
        "All of your if statements here"

答案 2 :(得分:0)

如果我已经正确理解你真的想要计算' 1' 2' 2' 3' 3' 3在每一栏

有' transtaes'一个2D嵌套的数组'和你一样:

zip(*ballots)是在没有索引的情况下完成整个问题的第一步  并不是说你不应该从那里开始,而是ziplist comprehensions这样的方法,如my_things.count(item)

但我无法抗拒单线'

  

[[o.count(c)for c in(' 1',' 2',' 3')] for o in zip(* ballots) )]

    [[7,8,3],[7,6,7],[4,5,11],[7,6,2,[4,4,6]]