我是一个非常新的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']]
答案 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)
是在没有索引的情况下完成整个问题的第一步
并不是说你不应该从那里开始,而是zip
,list 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]]