Python 如何插入数字+;1、&x2B;2在列表中该编号的位置旁边?
我希望能够根据列表中的数字插入数字+1、+2,就在该数字的旁边 例如:Python 如何插入数字+;1、&x2B;2在列表中该编号的位置旁边?,python,list,for-loop,Python,List,For Loop,我希望能够根据列表中的数字插入数字+1、+2,就在该数字的旁边 例如: # existing list list1 = [1,10,100] #wanted output: [1,2,3, 10,11,12, 100,101,102] #I spaced out the output list for ease of reading/understanding what it is I want to do. 我还希望能够加上+7或更多,因此如果可能,请以这种方式帮助提高效率。您可以使用
# existing list
list1 = [1,10,100]
#wanted output:
[1,2,3, 10,11,12, 100,101,102]
#I spaced out the output list for ease of reading/understanding what it is I want to do.
我还希望能够加上+7或更多,因此如果可能,请以这种方式帮助提高效率。您可以使用一个简单的嵌套理解:
list1 = [1, 10, 100]
n = 3 # or 7 or whatever
list2 = [x for y in list1 for x in range(y, y+n)]
# [1, 2, 3, 10, 11, 12, 100, 101, 102]
你可以用这个。它创建一个项目、项目+1、项目+2的列表,然后在返回前将其展平-
list1 = [1, 10, 100]
[j for i in list1 for j in [i,i+1,i+2]]
[列表1中的数字的数字+范围(3)中的偏移量]
?聪明。如果它想在相同的
列表上操作-,那么可以这样做:列表1[:]=[x代表y…]
那么不需要创建额外的新副本。是的,没错。切片分配是实现这一点的方法。@DanielHao尽管如此,我还是建议使用生成器表达式的主要原因:list1[:]=(x代表y…
,以避免内存中出现虚假的列表。谢谢!正是我所需要的谢谢,在我的代码中,扁平化部分对我来说很方便:)你的代码现在非常适合我正在做的其他工作,非常感谢:)很高兴能帮上忙。如果答案对你有帮助,一定要做标记;如果答案写得好符合你的喜好,一定要投赞成票。这鼓励我帮助你解决未来的问题:)
[1, 2, 3, 10, 11, 12, 100, 101, 102]