如何在python中为这种情况创建一个for循环?

时间:2016-09-21 16:17:38

标签: python django for-loop

也许这个标题看起来很奇怪,但是我在某些时候开始搜索如何创建这种情况的for循环:

我有一个包含此格式的列表列表:

 data=[['nature', author1, author2, ...author n]
       ['sport', author1, author2, ....author n]
       ....
      ]

我试过这段代码:

        authors=[author1, author2, ...author n]
         for i in range(len(authors)):

        data = [['nature', function(names[i], 'nature')],
                ['sport', function(names[i], 'sport')
             ..]

但不幸的是我猜它会以这种格式返回结果:

 data=[['nature', author1]
       ['sport', author1]
       ....
      ]

3 个答案:

答案 0 :(得分:0)

var originalObj = {
  shop: [
    { id: 1, list: "buy milk", complete: false},
    { id: 2, list: "buy bread", complete: false}
  ]
}

如果使用两个数字数据[1] [1]或数据[1] [2],则可以获取数据。有时也称为矩阵数组或矩阵列表。它的蟒蛇名称似乎是一个"列表"但它是一个多维列表,也就是矩阵数组/列表。

例如,体育作者2将是数据[1] [2],因为它们是基于零的计数。

循环遍历所有数据,你必须按行和按列循环,就像数据库结果集一样。

答案 1 :(得分:0)

你想要的东西是这些吗?

>>> data=[['nature', 'author1', 'author2', 'author3'],['sport', 'author1', 'author2', 'author3'],['Horses', 'author1', 'author2']]
>>> for i in range(len(data)):
        for x in range(1, len(data[i])):
            print data[i][0], data[i][x] 
nature author1
nature author2
nature author3
sport author1
sport author2
sport author3
Horses author1
Horses author2

答案 2 :(得分:0)

将其转换为字典,然后遍历密钥对

data = [['foo', 1, 2, 3], ['bar', 2,3,4]]
dat = {i[0]: i[1:] for i in data }        
for k, v in dat.items():
    print("{0}: {1}".format(k, v))


Output
bar: [2, 3, 4]
foo: [1, 2, 3]

除了.... 不要这样做

我只是在展示这一点,以表明您的数据首先应该在字典中。