相关疑难解决方法(0)

什么是pythonic方法来检测python'for'循环中的最后一个元素?

我想知道对for循环中的最后一个元素进行特殊处理的最佳方法(更紧凑和"pythonic"方式).有一段代码只能元素之间调用,在最后一个元素中被抑制.

以下是我目前的工作方式:

for i, data in enumerate(data_list):
    code_that_is_done_for_every_element
    if i != len(data_list) - 1:
        code_that_is_done_between_elements
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法?

注意:我不想使用hacks,例如使用reduce;)

python for-loop idioms fencepost

166
推荐指数
10
解决办法
15万
查看次数

在Python中将列表迭代为对(当前,下一个)

我有时需要在Python中迭代一个列表,查看"current"元素和"next"元素.到目前为止,我已经完成了以下代码:

for current, next in zip(the_list, the_list[1:]):
    # Do something
Run Code Online (Sandbox Code Playgroud)

这有效并且符合我的预期,但是有更多惯用或有效的方法来做同样的事情吗?

python

121
推荐指数
7
解决办法
4万
查看次数

Python列表:如何在使用for循环时读取前一个元素?

可能重复:
Python - 循环python for循环中的上一个和下一个值
,如何查找下一个值(对象)?

嗨,大家好.

我有一个包含很多元素的列表,我使用for循环迭代列表.例如

li = [2,31,321,41,3423,4,234,24,32,42,3,24,,31,123]

for (i in li):
    print i
Run Code Online (Sandbox Code Playgroud)

但是我想得到i的前一个元素,如何实现呢?

我不必使用for循环,所以请随意更改任何内容.谢谢!

python for-loop list

6
推荐指数
5
解决办法
4万
查看次数

向后倒数

我有一个像这样组织的列表:

[('down', 0.0098000000000000309), 
('up', 0.0015000000000000568), 
('down', 0.008900000000000019), 
('down', 0.023300000000000098), 
('down', 0.011599999999999944), 
('down', 0.0027000000000000357), 
('up', 0.0023999999999999577), 
('up', 0.0065000000000000613), 
('down', 0.0057000000000000384), 
('down', 0.018400000000000083), 
('up', 0.009300000000000086), 
('down', 0.0038000000000000256), 
('down', 0.00050000000000005596), 
('up', 0.0082000000000000961), .....
Run Code Online (Sandbox Code Playgroud)

什么是"向后比较"的最佳方式?,基本上我想要返回"是"(或者其他......)如果我们得到一系列的2"下降",接着是一个"向上",第二个值低于0.0095.

我希望他有道理..

python

1
推荐指数
1
解决办法
403
查看次数

使用.iteritems()在for循环中查找字典的下一项

是否可以在for循环中获取下一个迭代

for x,y dict.iteritems()

我对x的下一项感兴趣,而没有向前移动迭代器。

在Python 2.7.x中

dictionary iterator python-2.7

1
推荐指数
1
解决办法
3090
查看次数

列表python的上一个和下一个项目

任何人都可以指出我获得列表的上一个和下一个项目的实用方法.例如:

my_list = [100, 200, 300, 400]
Run Code Online (Sandbox Code Playgroud)

是否有实用的方法来获取上一个和下一个项目(300和100).

my_list[my_list.index(400) - 1]用来成功获得上一个项目.Python并不介意明显地得到负面索引.但是,如果我尝试my_list[my_list.index(400) + 1]它不喜欢索引大于列表中的项目数.这是有道理的.

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
Run Code Online (Sandbox Code Playgroud)

我想我可以使用循环来循环并获得它 - 我只是希望有一个更简单的解决方案.我正在考虑使用iter()但我似乎无法弄清楚是否可以设置索引.

python list

-1
推荐指数
2
解决办法
1822
查看次数

标签 统计

python ×5

for-loop ×2

list ×2

dictionary ×1

fencepost ×1

idioms ×1

iterator ×1

python-2.7 ×1