【发布时间】:2020-10-17 07:04:58
【问题描述】:
我看到了与我类似的问题,但我没有研究什么真正解决了我的问题。
所以,基本上我想拆分一个列表,以便删除一些项目并将其连接回来。这些项目对应于由元组列表给出的索引。
import numpy as np
arr = ['x','y','z','a','b','c','d','e','f','g',2,3,4]
indices = [(2,4),(7,9)] #INDEXES THAT NEED TO BE CUT OUT
print ([list1[0:s] +list1[s+1:e] for s,e in indices])
#Returns: [['x', 'y', 'z', 'a'], ['x', 'y', 'z', 'a', 'b', 'c', 'd', 'e', 'f']]
我从one of the answers from this post 获得的这段代码几乎可以满足我的需要,但我尝试将其调整为循环遍历索引的第一个索引一次,但它执行了两次并且它不包括其余的列表。
我希望我的最终列表从零索引拆分为第一个元组上的第一项,依此类推,使用 for 循环或一些迭代器。
像这样的,
`final_arr = arr[0:indices[0][0]] + arr[indices[0][1]:indices[1][0]] + arr[indices[1][1]:]<br/>
#Returns: [['x','y','a','b','c','f','g',2,3,4]]`
如果有人可以使用 for 循环来做到这一点,我会更容易看到您如何理解问题,然后我可以尝试适应使用更短的代码。
【问题讨论】:
-
能否添加最终的预期结果?这将有助于理解您的问题。
-
当然,我刚刚添加了它。
-
您的输出与您的问题不符。当我复制并粘贴您的代码时,您的预期结果中的值是错误的。
-
我已根据您的
final_arr逻辑添加了一个答案,但是输出与您在#Returns中描述的不同。如果不是预期的输出,请告诉我们。