生成一个包含多个元素的列表

时间:2015-10-06 19:22:30

标签: python list

我试图生成一个包含100个三角形数字的列表。这就是我生成100个三角形数字的原因。当我运行它时,我得到100个列表,如何更改它以生成一个包含100个元素的列表?

def Triangular():
    n=0
    while n<101:
        n=1+n
        triangleNumbers = (n*(n+1))//2
        print ([triangleNumbers])
Triangular()

Desired Result: [1,3,6,..]
Actual Result:
[1]
[3]
[6]
[10]
[15]
[21]
[28]
...

4 个答案:

答案 0 :(得分:0)

您需要对列表进行区分,并使用列表metohds来帮助您,下面的代码可以解决您的问题。

<image
           jcr:primaryType="cq:Widget"
           ..
           ..
            mimeTypes=".jpeg"
            name="./file"
            requestSuffix="/image.img.png"
            title="Image"
            xtype="html5smartimage" />

答案 1 :(得分:0)

/api/v1/events?watch=true

看看上面的陈述。

您正在创建新列表,而不是添加到列表中。

print ([triangleNumbers])

相反,

  • 初始化一个空列表。
  • 在每次迭代时将>>print (type([triangleNumbers])) <type 'list'> 附加到triangleNumbers

示例代码:

list

答案 2 :(得分:0)

为了使它更加pythonic,你可以使用列表理解

def Triangular(upto):
    lst = [(n*(n+1))//2 for n in range(1,upto)]
    print lst

我个人只让函数返回列表,然后让调用者打印结果

def Triangular(upto):
    return [(n*(n+1))//2 for n in range(1,upto)]

lst = Triangular(101)
print lst

答案 3 :(得分:0)

你也可以这样做:

lis =[]
for n in range(100):
    lis.append((n*(n+1))//2)

print (lis)