Eas*_*hie 2 python list python-3.x
我对 python 和编程都很陌生,所以我觉得我正在努力思考最简单的事情......
假设我有一个包含 12 项的清单:
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
Run Code Online (Sandbox Code Playgroud)
以及与列表中的一项匹配的变量:
b = 7
Run Code Online (Sandbox Code Playgroud)
现在我想在列表中找到该匹配项,并以相同的顺序将匹配项之前的每个项目移至列表末尾,如下所示:
a = [7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)
我将如何在 python 3.4.2 中执行此操作?
匹配可以针对任何索引处的任何项目,但项目数量始终相同 (12)。
使用列表切片:
>>> a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
>>> idx = a.index(7)
>>> a = a[idx:] + a[:idx]
>>> a
[7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)
请注意,ValueError如果在数组中找不到要搜索的值,这将抛出 a ,在这种情况下,您需要使用try- exceptblock捕获它