marxes = ['Groucho', 'Chico', 'Harpo', 'Zeppo']
others = ['Gummo', 'Karl']
当我向其他人追加马克思时,我的结果低于结果
marxes.append(others)
['Groucho', 'Chico', 'Harpo', 'Zeppo', ['Gummo', 'Karl']]
现在当我试图用marxes扩展其他人时
others.extend(marxes)
['Gummo', 'Karl', 'Groucho', 'Chico', 'Harpo', 'Zeppo', [...]]
当我将其他人编入索引为others[-1]
时,我得到了这个
['Gummo', 'Karl', 'Groucho', 'Chico', 'Harpo', 'Zeppo', [...]]
即使others[-1][-1][-1][-1]
我正在接受此
['Gummo', 'Karl', 'Groucho', 'Chico', 'Harpo', 'Zeppo', [...]]
任何人都可以告诉我为什么会这样,我怎样才能将其他人的最后一个元素作为马克思呢?
答案 0 :(得分:0)
当您致电others.extend(marxes)
,marxes = ['Groucho', 'Chico', 'Harpo', 'Zeppo', others]
时:您正在使用包含对others
的引用的列表扩展列表others
(您正在创建循环引用) 。这就是[...]
提示的内容。
修复您可以在第一步中附加others
的副本:
marxes = ['Groucho', 'Chico', 'Harpo', 'Zeppo']
others = ['Gummo', 'Karl']
marxes.append(others[:])
others.extend(marxes)
(因为我并不完全明白你真正想要实现的目标,但我无法告诉你如何正确地做到这一点......)