Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何插入数字+;1、&x2B;2在列表中该编号的位置旁边?_Python_List_For Loop - Fatal编程技术网

Python 如何插入数字+;1、&x2B;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或更多,因此如果可能,请以这种方式帮助提高效率。您可以使用

我希望能够根据列表中的数字插入数字+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或更多,因此如果可能,请以这种方式帮助提高效率。

您可以使用一个简单的嵌套理解:

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]