Techs = ['MIT', 'Caltech']
Ivys = ['Harvard', 'Yale', 'Brown']
Univs = [Techs, Ivys]
Univs1 = [['MIT', 'Caltech'], ['Harvard', 'Yale', 'Brown']]
print('Univs =', Univs)
print('Univs1 =', Univs1)
print('id(Univs) =', id(Univs))
print('id(Univs1) =', id(Univs1))
但实际运行效果如下

按照我自己的理解,如果 name bind 能够找到一个完全相同的 object,就不会重新创建一份 copy
但实际运行的结果和之前的总结似乎大相径庭
类似的问题还出现在 pass value by value/reference,网上也搜了一下这方面的 blog,但没找到说得特别清楚的
大佬们有推荐的 tutorial 链接吗 Python 语言何时创建新的 Object 有什么原则吗?