2017-04-17 730 views
0

我想将1添加到我的变量,然后将此变量添加到列表中,所以当我打印出我的列表时,变量的值在其中。然而,我的代码打印出一个空列表,尽管我添加了变量。Python将一个整数添加到列表中

case_number = 0 
case_numbers = [] 

issue = input('Has the issue been solved?').lower() 
if issue == 'no': 
     case_number += 1 
     case_numbers+[int(case_number)] 
     print(case_numbers) 
+0

'+'创建一个新的列表,它你丢弃了。你需要的是'case_numbers.append(int(case_number))' –

+0

你需要用'case_numbers + = [int(case_number)]替换最后一行' –

+0

你有一个打印错误,写'case_numbers + = [int(case_number )]'(忘记等号) – Serenity

回答

0
if issue == 'no': 
     case_number += 1 
     case_numbers.append(case_number) 
     print(case_numbers) 

这里,case_numbers.append(case_number)语句添加元素到列表中。

0

的问题是这一行:

case_numbers+[int(case_number)] 

虽然这是真的,你可以通过添加另一个列表到它的末尾添加值的列表,然后需要将结果分配给一个变量。现有列表不会在原地进行修改。像这样:

case_numbers = case_numbers+[int(case_number)] 

但是,这远远不是最好的解决方法。首先,您不需要将您的case_number值转换为int,因为它已经是int。此外,列表还有一个追加方法用于确切的目的。

case_numbers.append(case_number) 
0

如果你想增加一个值到不断增加的列表中,你需要使用list.append()方法。它增加值到列表的末尾,所以你的代码应该是:

case_number = 0 
case_numbers = [] 

issue = input('Has the issue been solved?').lower() 
if issue == 'no': 
     case_number += 1 
     case_numbers.append(int(case_number)) 
     print(case_numbers) 

额外提示: list.append()方法增加值,所以如果你使用append()然后将其添加列表B插入到表一结束列表将新增数组listB的listA的内部这样listA.append(listB)= ["a","b","c",["d","e","f"]]所以如果你想要添加到正常的列表中,您应该使用list.extend()方法,将一个列表的值添加到值彼此,使得listA.extend(listB)=["a","b","c","d","e","f"]