python - 迭代python循环直到上一个位置的有效方法
问题描述
我有一个列表a
,我需要从位置 2 迭代到之前的位置 1。
# old index - 0 1 2 3 4
a = [1,2,3,4,5]
# new index - 2,3,4,0,1
# new value - 3,4,5,1,2
cnt = 0
while True:
for i in range(2,len(a)):
print(a[i])
for i in range(len(a)-2-1):
print(a[i])
break
我正在使用 2 for 循环,但我相信应该有更好的方法来做到这一点。
解决方案
您可以创建一个新列表,组合特定值之后和特定值之前的元素,假设3
您的情况:
a = [1, 2, 3, 4, 5]
piv = a.index(3)
print(a[piv:] + a[:piv])
这给了你[3, 4, 5, 1, 2]
推荐阅读
- raku - 在 Perl 6 中过滤匹配两个正则表达式的元素
- angular - angular2 何时创建组件?
- android - Android Kotlin - 对话框片段错误(不能使用提供的参数调用以下函数)
- unicode - 如何使用 senthamizh 字体 SMZTH(泰米尔语)?
- html - 响应式页脚不停留在页面底部
- android - 如何通过 GSON / Retrofit 获得价值?
- sql - Postgresql WHERE 与 age() 函数
- python - 删除 Sublime Text 红色弹出窗口
- java - Spring Data JPA 将嵌套集合大小限制为 Pageable
- android - 带 GSM 模块的 DIY Raspberry pi 安卓手机?