【问题标题】:For Loop generate sequence [duplicate]For循环生成序列[重复]
【发布时间】:2018-12-01 12:14:48
【问题描述】:

需要帮助,

我期待这样的输出

1.1.1.1 is server0
1.1.1.2 is server1
1.1.1.3 is server2
1.1.1.4 is server3

但我没有得到预期的输出。这是我的代码

IP = ['1.1.1.1', '1.1.1.2', '1.1.1.3', '1.1.1.4']
for ip in IP:
    for i in range(len(IP)):
        print(ip + ' is ' + 'server'+ str(i))

输出:

1.1.1.1 is server0
1.1.1.1 is server1
1.1.1.1 is server2
1.1.1.1 is server3
1.1.1.2 is server0
1.1.1.2 is server1
1.1.1.2 is server2
1.1.1.2 is server3
1.1.1.3 is server0
1.1.1.3 is server1
1.1.1.3 is server2
1.1.1.3 is server3
1.1.1.4 is server0
1.1.1.4 is server1
1.1.1.4 is server2
1.1.1.4 is server3

有人可以帮我吗?

【问题讨论】:

  • 使用枚举:for i, ip in enumerate(IP): print(ip + ' is ' + 'server'+ str(i))
  • 我已回滚您的上一次编辑。在已经收到答案后,不要从根本上改变您的问题。如果您有新问题,请发布新问题。

标签: python


【解决方案1】:

这里不需要两个循环。简单写:

for i in range(len(IP)):
            print(IP[i] + ' is ' + 'server'+ str(i))

输出:

1.1.1.1 is server0
1.1.1.2 is server1
1.1.1.3 is server2
1.1.1.4 is server3

【讨论】:

  • for i, ip in enumerate(IP): print(ip + ' is server' + str(i)) 是个不错的方法。
  • 是的,但我认为它们的时间复杂度几乎相同。
  • 时间复杂度不应该是一个简单循环的问题。当你想在迭代过程中使用索引和项目时,enumerate() 是最 Pythonic 的选择。
  • 是的,谢谢你的意见
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-19
  • 2013-12-16
  • 1970-01-01
  • 2021-11-07
  • 1970-01-01
相关资源
最近更新 更多