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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.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 如何将for循环的项返回到单个列表中?_Python_List_For Loop_Range - Fatal编程技术网

Python 如何将for循环的项返回到单个列表中?

Python 如何将for循环的项返回到单个列表中?,python,list,for-loop,range,Python,List,For Loop,Range,我不知道如何从一个for循环中获取列表中某个范围内的所有项,而不是将它们全部分开。 假设我有这个代码 list1=[1,2,3,4,5] new = [] for item in list1[0:-1]: new = item+1 print(new) 所以如果我运行这个,我会 2 3 4 5 但我需要得到这个: [2,3,4,5] 这个问题的关键是在原始列表中除最后一个之外的每个数字上加1,然后用0替换第三个数字。但是,如果我得到的号码不在列表中,我不知道如何调用第三项,

我不知道如何从一个for循环中获取列表中某个范围内的所有项,而不是将它们全部分开。 假设我有这个代码

list1=[1,2,3,4,5]
new = []
for item in list1[0:-1]:
    new = item+1
    print(new)
所以如果我运行这个,我会

2
3
4
5
但我需要得到这个:

[2,3,4,5]
这个问题的关键是在原始列表中除最后一个之外的每个数字上加1,然后用0替换第三个数字。但是,如果我得到的号码不在列表中,我不知道如何调用第三项,我会得到这样的:

new[2]=0

您可以使用
list.append()

或者,您可以使用列表:

list2 = [item + 1 for item in list1[0:-1]]

您可以使用
list.append()

或者,您可以使用列表:

list2 = [item + 1 for item in list1[0:-1]]

这里有一个一行代码,将列表中的每个项目
x
替换为
x+1
,第三个项目除外,它将被0替换。另外,我将把
list1[:-1]
传递给列表理解,以省略最后一个元素,就像OP已经做的那样:

list1 = [1,2,3,4,5]
new = [x + 1 if i != 2 else 0 for i,x in enumerate(list1[:-1])]
# new == [2, 3, 0, 5]

这里有一个一行代码,将列表中的每个项目
x
替换为
x+1
,第三个项目除外,它将被0替换。另外,我将把
list1[:-1]
传递给列表理解,以省略最后一个元素,就像OP已经做的那样:

list1 = [1,2,3,4,5]
new = [x + 1 if i != 2 else 0 for i,x in enumerate(list1[:-1])]
# new == [2, 3, 0, 5]
这应该行得通

list1=[1,2,3,4,5]
print [x+1 if i != 2 else 0 for i, x in enumerate(list1)]
#[2,3,0,5,6]
这应该行得通

list1=[1,2,3,4,5]
print [x+1 if i != 2 else 0 for i, x in enumerate(list1)]
#[2,3,0,5,6]
new.append(项目+1)
new.append(项目+1)