在 Python 中复制列表的一部分

ihe*_*cpp 7 python arrays for-loop list

我已经搜索了有关如何执行此操作的相关线程,但我找不到任何内容。

我有一个数组:

x = [a,a,a,b,a,a]
Run Code Online (Sandbox Code Playgroud)

我想将数组的元素复制到新数组中,直到找到“b”。我尝试用循环执行此操作,但收到错误“y 未定义”,我尝试初始化 y 但也不起作用。有任何想法吗?我确信有更好的方法来做到这一点。

for ii in x:
    if x[ii].find(num) == 0:
        break
    else:
        y[ii] = x[ii]
Run Code Online (Sandbox Code Playgroud)

Wil*_*ill 5

尝试这个:

x = [1,1,1,2,1,1]
b = 2

try:
    y = x[:x.index(b)]
except ValueError:
    y = x[:]
Run Code Online (Sandbox Code Playgroud)

例如:

In [10]: x = [1,1,1,2,1,1]
    ...: b = 2
    ...: 
    ...: try:
    ...:     y = x[:x.index(b)]
    ...: except ValueError:
    ...:     # b was not found in x. Just copy the whole thing.
    ...:     y = x[:]
    ...:

In [11]: y
Out[11]: [1, 1, 1]
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅浅复制切片list.index()


Igo*_*kiy 3

y = []
for e in x:
    if e == 2:
        break
    y.append(e)
Run Code Online (Sandbox Code Playgroud)

  • 也称为“y = x[:x.index(2)]”。 (4认同)