代码之家  ›  专栏  ›  技术社区  ›  user1283776

使用格式打印运行时可以包含未知数量变量的列表?

  •  0
  • user1283776  · 技术社区  · 6 年前

    sample_list

    sample_list = ['cat', 'dog', 'bunny', 'pig']
    print("Your list of animals are: {}, {}, {} and {}".format(*sample_list))
    

    如果我不知道

    4 回复  |  直到 6 年前
        1
  •  3
  •   C.Nivs    6 年前

    join

    sample_list = ['cat', 'dog', 'bunny', 'pig']
    printstr = '%s, and %s' % (', '.join(sample_list[:-1]), str(sample_list[-1]))
    print("Your list of animals are: %s" % printstr)
    
        2
  •  0
  •   Rakesh    6 年前

    sample_list = ['cat', 'dog', 'bunny', 'pig']
    str_val = ""
    l = len(sample_list) -1
    
    for i, v in enumerate(sample_list):
        if i == l:
            str_val += " and {}".format(v)
        else:
            str_val += " {},".format(v)    
    
    print("Your list of animals are: {}".format(str_val))
    

    或一个班轮

    str_val = "".join(" and {}".format(v) if i == l else " {},".format(v) for i, v in enumerate(sample_list))
    print("Your list of animals are: {}".format(str_val))
    

    输出:

    Your list of animals are:  cat, dog, bunny, and pig
    
        3
  •  0
  •   depperm    6 年前

    你可以创建你使用的字符串 format

    sample_list = ['cat', 'dog', 'bunny', 'pig']
    test='Your list of animals are: '+'{}, '*(len(sample_list)-1)+'and {}'
    print(test) # Your list of animals are: {}, {}, {}, and {}
    print(test.format(*sample_list)) # Your list of animals are: cat, dog, bunny, and pig
    
        4
  •  0
  •   Dusan Gligoric    6 年前

    如果您使用的是Python3.5+,则可以使用f字符串,如:

    sample_list = ['cat', 'dog', 'bunny', 'pig']
    print(f"Your list of animals are: {', '.join([item for item in sample_list[:-1]])} and {sample_list[-1]}")
    

    % 当输入数据时比 .format ,对于这个例子来说,这并没有什么大的区别,在我看来,人们应该习惯使用它们,因为它们是极好的:)