首页 文章

为可变长度列表编写条件语句? [等候接听]

提问于
浏览
-1

如果我有一个列表ls在每次调用特定函数时长度不同那么写一个if条件的有效方法是否有效写入相同的?

谢谢 .

我试过这个:

a = []
if len(ls)==3 :
    if len(ls) ==1 :

        if len(ls[0])==3 :
            b = 0
            a.append (b)
            print("done1")
    if len(ls)==2 :
        if len(ls[0]) ==3 :
            b = 0
            a.append (b)
            print("done1")
        if len(ls[1]) ==3 :
            b = 2
            a.append (b)
            print("done2")
    if len(ls) ==3 :

        if len(ls[0]) ==3 :
            b = 0
            a.append (b)
            print("done1")
        if len(ls[1]) ==3 :
            b = 2
            a.append (b)
            print("done2")
        if len(ls[2])==3:
            b =3
            a.append (b)
            print("done 3")

这些代码行将为不同长度的列表ls返回列表“a” . “b”只是我添加的一个随机值 . “b”不是指数值 . 有没有其他有效的方法来编写相同的代码?

2 回答

  • 1

    如果 IndexError 是原因,您应该考虑使用循环:

    for l in ls:
        b = len(l)
        a.append(b)
        print("done {}".format(b))
        # Alternatively, print("done %d" % (b,))
    
  • 1

    根据你的评论,我认为你需要这个:

    for index, item in enumerate(ls):
        if len(item) == 3: # or len(item) == len(ls) ??
            b = index+1 # Or b = index , as you need 
            a.append(b)
            print("done {}".format(b))
    

相关问题