【问题标题】:How do I print a certain index in a for-loop?如何在 for 循环中打印某个索引?
【发布时间】:2016-04-22 16:51:06
【问题描述】:

我有这个代码:

for x in range(1,10):
    print x[1],x[5]

显然它不起作用,所以我想知道如何在 for 循环中打印某个索引而不做:

for x in range(1,10):
    if x == 1:
        print x
    if x == 5:
        print x

谢谢!

【问题讨论】:

    标签: python python-2.7 for-loop indexing printing


    【解决方案1】:

    不确定你想用这个做什么,但这里有一个选项

    for idx,val in enumerate(range(1,10)):
        if idx in {1, 5}:
            print idx, val # print both the index and the value 
    

    【讨论】:

    • 谢谢你,但我希望只有一行像print x[index]
    • 您不能在单行 print 语句 AFAIK 中使用条件。而x[index] 没有意义,因为x 不可索引
    【解决方案2】:

    使用枚举:

    for i, v in enumerate(range(10)):
        if i == 5:
            print(i)
    

    我更喜欢上面的方法,因为它是可读的,并且可以按照你的要求输出。

    如果你真的想放这一行,你可以做这样的事情,但是,同样,上面的方法绝对没有错。

    print(' '.join([str(i) for i, _ in enumerate(range(10)) if i in (1, 5)]))
    

    【讨论】:

    • 无论如何只使用一行如print x[index]?
    • 不,尤其是我相信的印刷品。此外,并非所有内容都必须始终放在一条线上。可读性非常重要。
    • 是的,但我正在尝试使用其中的 for 循环制作一个包含 1 到 9 个数字的网格,并且一行代码会使它变得更好
    • 您希望代码易于理解。而且在很多情况下可读性会更好。
    猜你喜欢
    • 2021-11-08
    • 2021-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多