我有一个列表indexlist,其值为:
[8, 11, 4, 3]
它位于函数的中间,因此其他相关的值为i=0和endsorted = sorted(indexlist[i+1:])
然后我会打电话给
indexlist[:i+1].extend(endsorted)
它会返回
[8, 11, 4, 3]。
它不应该返回[8, 3, 4, 11]吗?我检查了indexlist[:i+1],它是[8],我检查了endsorted,它是[3, 4, 11]。
发布于 2016-08-15 22:40:04
看看这段代码:
# Init
indexlist = [8, 11, 4, 3]
# Your setup
i = 0
endsorted = sorted(indexlist[i+1:])
# Extending the right list object
new_index_list = indexlist[:i+1]
new_index_list.extend(endsorted)new_index_list值为[8, 3, 4, 11]。
因为我扩展了正确的对象,而不仅仅是它的一个副本(当对列表进行切片时,你会得到一个新对象,而不是原来的对象)
https://stackoverflow.com/questions/38957127
复制相似问题