如何将多个列表放在一个列表中?

时间:2019-12-26 06:19:24

标签: python list

我正在解决一些练习题。

问:制作一个看起来像这样的列表:

a = [[1,2],[3,4],[5,6]]

因此,我首先创建了一个包含三个两元素列表的列表,如下所示。

    a = []
    for i in range(3):
        line = []
        for j in range(2):
           line.append(0)
        a.append(line)
    print(a)
    >>> [[0,0],[0,0],[0,0]]

然后我试图将元素更改为1-6,但是我在这一部分苦苦挣扎。

有人可以帮我吗? 谢谢!

3 个答案:

答案 0 :(得分:0)

num = 1
a = []
for i in range(3):
    line = []
    for j in range(2):
       line.append(num)
       num = num + 1
    a.append(line)
print(a)

>>> [[1,2],[3,4],[5,6]]

答案 1 :(得分:0)

我会为此使用itertools.count

from itertools import count

counter = count(1)
a = [[next(counter) for _ in range(2)] for _ in range(3)]
print(a)  # -> [[1, 2], [3, 4], [5, 6]]

答案 2 :(得分:0)

为此输入代码:

a = []
for i in range(1,7,2):
    line = [i, i+1]
    a.append(line)

print(a)

>>> [[1,2], [3,4], [5,6]] # Yay!

第一行,a = []:只列出一个空列表

第二行,for i in range(1,7,2):所做的是经过范围1-7,跳过2。这使您得到1、3,并结束于5。

第三行,line = [i, i+1]:这只是给您line = [1,2]line = [3,4]line = [5,6]。非常基础。

第4行,a.append(line):将列表行添加到列表a。

第5行,print(a):打印输出。

甚至更好:

a = [[i,i+1] for i in range(1,7,2)] # 1 line of code!
print(a)

>>> [[1,2], [3,4], [5,6]] # Yay!

这称为列表理解。我建议您浏览一些https://www.geeksforgeeks.org/comprehensions-in-python/

这样的网站