我有一个有点随机的列表.
list = [1,2,4,2,25,3,2,4,2,1,1,32,3,3,2,2,23,4,2,2,2,34,234,33,2,4,3,2,3,4,2,1,3,4,3]
Run Code Online (Sandbox Code Playgroud)
我想迭代它并做这样的事情:
for item in list:
while item >=5:
if item = item_5_indexes_ago
print "its the same as it was 5 entries ago!"
Run Code Online (Sandbox Code Playgroud)
显然,item_5_indexes_ago是无效的python.我应该在这里替代什么?我想检查list [5] == list [1],如果list [6] == list [2],.....对于列表中的每个项目.
您还可以使用列表推导和enumerate函数来获取元素:
[l for i, l in enumerate(list[:-5]) if l == list[i+5]]
Run Code Online (Sandbox Code Playgroud)
pythonic解决方案是使用内置enumerate来跟踪索引以及项目
for index, item in enumerate(my_list):
if index >= 5:
item_5_indexes_ago = my_list[index-5]
Run Code Online (Sandbox Code Playgroud)
您可以循环使用索引:
for i in range(len(some_list)):
# do something with
# list[i]
Run Code Online (Sandbox Code Playgroud)
并且要访问前一个元素,您可以使用:
if i >= 4 and list[i] == list[i - 4]:
print "its the same as it was 4 entries ago!"
Run Code Online (Sandbox Code Playgroud)
笔记:
list[5]==list[1],if list[6]==list[2]似乎你想要检查之前的元素4指数,而不是5.list将其用作变量的名称,因为它将隐藏其内置实现.| 归档时间: |
|
| 查看次数: |
4170 次 |
| 最近记录: |