我有一个元素列表:
list = ['elem1', 'elem2', 'elem3', 'elem4', 'elem5']
我以这种方式成对使用:
for x in range(0, len(list)-1):
print(list[x], list[x+1])
这有效并且返回:
('elem1', 'elem2')
('elem2', 'elem3')
('elem3', 'elem4')
('elem4', 'elem5')
我想每次打印一行时增加一个计数器。我怎么能这样做?
答案 0 :(得分:3)
首先,不要使用list作为变量名,这可能会导致一些严重的问题。
其次,简单的方法就是初始化一个计数器并在循环内增加它。
const getJSON = require("async-get-json");
const getGitHubAPIStatus = getJSON("https://status.github.com/api/status.json");
module.exports.endpoint = async function (request, response)
{
response.end(JSON.stringify(await getGitHubAPIStatus));
}
创建所需输出的另一种优雅方式是:
li = ['elem1', 'elem2', 'elem3', 'elem4', 'elem5']
cnt = 0
for index in range(0, len(li)-1):
cnt += 1
print(li[index], li[index+1])
print cnt
我们将其分为两个列表,第一个列表为li = ['elem1', 'elem2', 'elem3', 'elem4', 'elem5']
for cnt, (v, w) in enumerate(zip(li[:-1], li[1:])):
print [v, w]
print cnt
,第二个列表为['elem1', 'elem2', 'elem3', 'elem4']
。
每次迭代我们从第一个列表中获取一个,从第二个列表中获取第二个。
答案 1 :(得分:1)
此解决方案声明一个名为count
的变量,并在每次迭代时增加它
listX = ['elem1', 'elem2', 'elem3', 'elem4', 'elem5']
count = 0
for x in range(0, len(listX)-1):
print(list[x], list[x+1])
count += 1
答案 2 :(得分:1)
您可以在for循环之前声明一个具有所需初始值的变量,并在for:中添加它:
counter = 0
for x in range(0, len(list)-1):
print(list[x], list[x+1])
counter += 1