作者pd41987 (Wangkson ^_____^)
看板Python
标题[问题] List.append问题
时间Fri Sep 15 12:21:24 2017
小弟新学Python~
先前在回圈内使用list.append在list中append list
output出来的值 不知为何会一直重复
并没有依序加在list的最尾端
请教各位大大~小弟是哪个地方没有注意到
Output:
Loop 1
Need to add [-1, 0, 1]
Result [[-1, 0, 1]]
Loop 2
Need to add [-1, 0, 1]
Result [[-1, 1, 0], [-1, 1, 0]]
Loop 3
Need to add [-1, -1, 2]
Result [[-1, 2, -1], [-1, 2, -1], [-1, 2, -1]]
.
.
.
.
////////////////////////////////////////////////////////////////////
Code:
nums = [-1, 0, 1, 2, -1, -4]
if len(nums) < 3:
final_answer_list = []
else:
answer_list = [0,0,0]
final_answer_list = []
print(final_answer_list)
input_length = len(nums)
z = 0
for i in range(0,input_length):
for j in range(0,input_length):
if j!=i:
for k in range(0,input_length):
if k!=i and k!=j:
answer_list[0] = nums[i]
answer_list[1] = nums[j]
answer_list[2] = nums[k]
cum_val = 0
for l in range(0,3):
cum_val += answer_list[l]
if cum_val == 0:
z += 1
print('Loop',z)
answer_list2 = sorted(answer_list)
print('Need to add ',answer_list2)
final_answer_list.append(answer_list)
print('Result ',final_answer_list)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 106.1.232.147
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1505449286.A.2CD.html
1F:推 Yshuan: final_answer_list.append(list(answer_list)) 09/15 14:34
2F:→ Yshuan: append进去的一直是同一块记忆体 需要copy出来 09/15 14:35
3F:推 cutekid: 推楼上(Y) 09/15 14:40
4F:推 brightwish: 不对吧 你打need to add answer_list2 可是你append的 09/16 00:26
5F:→ brightwish: 是answer_list阿... 漏打2吧? 09/16 00:26
6F:→ pd41987: 感谢一楼大大!! 刚试过没有问题 List如预期append起来了 09/16 21:20
7F:→ brightwish: 楼上 我刚测过了 你就是漏打2啦 09/17 02:33