新人求助,关于列表
list1=[['1','2','3',' ','8','4','7','6','5'],4,None,None]list2=[['1','2','3','8',' ','4','7','6','5'],4,None,None]
listopen=[]
listclosed=[]
def zuoyi(list):
newlist2=list[::]
newlist1=newlist2[::]
newlist1],newlist1-1]=newlist1-1],newlist1]
newlist1=newlist2-1
newlist1=newlist2[::]
newlist1='zuo'
return newlist1
listopen.append(list1)
nlist1=[]
for i in listopen:
nlist1.append(i)
listopen.append(zuoyi(nlist1))
print(listopen)
请问大佬们为什么这里listopen里的内容第二次像这样
[[['1', '2', '3', ' ', '8', '4', '7', '6', '5'], 4, None, None]]
[[['1', '2', '3', '8', ' ', '4', '7', '6', '5'], 4, None, None], [['1', '2', '3', '8', ' ', '4', '7', '6', '5'], 3, [['1', '2', '3', '8', ' ', '4', '7', '6', '5'], 4, None, None], 'zuo']]
全都改变了,而不是只改变新加入的列表,感觉并没有用列表直接赋值啊 本帖最后由 昨非 于 2020-11-7 13:31 编辑
你这代码有啥意义吗,绕口令??
怎么恶心怎么写啊,,,,
那个老师给学生讲语法用这种例子啊,,,讲这种,,不是磋伤学习积极性的吗 list1=[['1','2','3',' ','8','4','7','6','5'],4,None,None]
list2=[['1','2','3','8',' ','4','7','6','5'],4,None,None]
listopen=[]
listclosed=[]
def zuoyi(list):
newlist2=list[::] #复制list
newlist1=newlist2[::] #复制list
newlist1], newlist1-1] = newlist1-1], newlist1]
#对应newlist1的第一个子列表里 索引为4的元素和索引为3的元素 交换位置
newlist1=newlist2-1#newlist1里的元素4改变为3
newlist1=newlist2[::] #newlist1里的第一个None变成整个newlist2
newlist1='zuo' #newlist1里最后一个元素:none -> "zuo"
return newlist1#返回newlist1
listopen.append(list1)
nlist1=[]
for i in listopen:
nlist1.append(i)
listopen.append(zuoyi(nlist1))
print(listopen)
把函数给你注释清楚了,你的测试结果完全没毛病
理解了记得给个【最佳答案】 昨非 发表于 2020-11-7 13:37
把函数给你注释清楚了,你的测试结果完全没毛病
理解了记得给个【最佳答案】
我想得到的结果是下面这样啊,不知道怎么改呢
[[['1', '2', '3', ' ', '8', '4', '7', '6', '5'], 4, None, None], [['1', '2', '3', '8', ' ', '4', '7', '6', '5'], 3, [['1', '2', '3', ' ', '8', '4', '7', '6', '5'], 4, None, None], 'zuo']] zwzddd919 发表于 2020-11-7 14:03
我想得到的结果是下面这样啊,不知道怎么改呢
[[['1', '2', '3', ' ', '8', '4', '7', '6', '5'], 4,...
奇怪的要求 list1=[['1','2','3',' ','8','4','7','6','5'],4,None,None]
list2=[['1','2','3','8',' ','4','7','6','5'],4,None,None]
def zuoyi(list):
newlist2=list[::] #复制list
newlist1=newlist2[::] #复制list
newlist1], newlist1-1] = newlist1-1], newlist1]
#对应newlist1的第一个子列表里 索引为4的元素和索引为3的元素 交换位置
newlist1=newlist2-1#newlist1里的元素4改变为3
newlist1=newlist2[::] #newlist1里的第一个None变成整个newlist2
newlist1='zuo' #newlist1里最后一个元素:none -> "zuo"
#加一行
newlist1=newlist1
return newlist1#返回newlist1
print(zuoyi(list1)) 看得头皮发麻 楼主记得及时结帖啊
页:
[1]