【问题标题】:Getting a single set of elements using loops使用循环获取一组元素
【发布时间】:2019-12-28 09:02:05
【问题描述】:

每当我在循环中将一个元素附加到一个新列表中时,我都会得到许多重复这些元素的列表。如何获得包含所有元素的单个列表而不重复它们?

n, r = [5, 2]
ans = 0
l = [0]
while n-1>0:
    ans = ans+r
    for i in range(ans):

        if ans not in l:
            l.append(ans)
        print(l)
    n-=1



#I was hoping to get this answer:
 [0,2,4,6,8]
#Instead, I got this:
 [0, 2]
 [0, 2]
 [0, 2, 4]
 [0, 2, 4]
 [0, 2, 4]
 [0, 2, 4]
 [0, 2, 4, 6]
 [0, 2, 4, 6]
 [0, 2, 4, 6]
 [0, 2, 4, 6]
 [0, 2, 4, 6]
 [0, 2, 4, 6]
 [0, 2, 4, 6, 8]
 [0, 2, 4, 6, 8]
 [0, 2, 4, 6, 8]
 [0, 2, 4, 6, 8]
 [0, 2, 4, 6, 8]
 [0, 2, 4, 6, 8]
 [0, 2, 4, 6, 8]
 [0, 2, 4, 6, 8]

【问题讨论】:

    标签: arrays list append


    【解决方案1】:

    在loop之外使用print:

    n, r = [5, 2]
    ans = 0
    l = [0]
    while n-1>0:
        ans = ans+r
        for i in range(ans):
    
            if ans not in l:
                l.append(ans)
        n-=1
    print l
    

    【讨论】:

      猜你喜欢
      • 2017-11-16
      • 2023-02-16
      • 2021-08-25
      • 2011-07-03
      • 2021-05-07
      • 1970-01-01
      • 1970-01-01
      • 2020-01-31
      • 2022-01-08
      相关资源
      最近更新 更多