如何迭代列表?

时间:2016-10-06 22:24:56

标签: python list

我是编程新手,并且一直在尝试使用python进行研究计算。我需要编写一个类似这样的程序:

如果chelDays = [0,1,5,7] 对于从1到100的每个时间t,如果t> 1,我需要t-chelDays用于列表chelDays的每个成员。 tchelDays。例如,我会得到以下结果:see image

这是我试过的:

chelDays = [0, 1, 5, 7]
while t <100:
    if t > tj:
        print (t, t-tj)
    else:
        print (t, " ")
    t +=1

编辑:

终于找到了我的解决方案:     Tau =(0,1,5,7)     def tMinusTau(t,tj):         如果t> TJ:
            返回t-tj         其他:             返回“”     对于范围内的t(1,100):     print(t,tMinusTau(t,Tau [0]),tMinusTau(t,Tau 1),tMinusTau(t,Tau [2]),tMinusTau(t,Tau [3]))

1 个答案:

答案 0 :(得分:4)

for循环是迭代集合中项目的pythonic方法。您可以使用range为一系列数字获得相同的效果。例如,range(1,100)数字是1-99(因为停靠号是非包含的)

因此,如果您想迭代t = 1到t = 100,然后检查每个t区间的chelDays中的每个项目,您可以执行以下操作:

for t in range(1,101):
    for tj in chelDays:
        if t > tj:
            #dostuff
        else:
            #dostuff

编辑:事后看来,目前还不清楚你是否想检查chelDays中的每一件物品。你可能意味着所有日子的总价值。如果是这种情况,您可以按sum(chelDays)汇总值,例如sum([1,2,3]) == 6或者如果您想要该列表中的项目数,您可以{{1} 1}}例如len(chelDays)

最后,您可以为自己和其他人阅读代码做一件好事,尝试让您的变量名称准确描述它们是什么。 len([504,123,234]) == 3xy等变量名称通常不合适。当然,有些情境,例如var x y之类的数学公式完全正常。