python list的一些特性

来源:互联网 发布:愚人节整蛊软件 编辑:程序博客网 时间:2024/05/16 11:51

例1:

a = [1, 2, 3]#当你取a[10]的时候,会显示IndexError: list index out of range#而当你切片取值的时候print(a[10:0])   #返回[]

例2:

a = [1, 2, 3]print(a*3)       #返回[1, 2, 3, 1, 2, 3, 1, 2, 3]b = [[]]b = b*3print(b)         #返回[[], [], []]b[0].append(1)print(b)         #返回[[1], [1], [1]]b[1].append(2)print(b)         #返回[[1, 2], [1, 2], [1, 2]]b.append(3)print(b)         #返回[[1, 2], [1, 2], [1, 2], 3]

原因:b = b*3的输出结果直觉上很容易理解,例如 list = [ [ ] ] * 3 就是简单的创造了3个空列表。然而,理解表达式list=[ [ ] ] * 5的关键一点是它不是创造一个包含五个独立列表的列表,而是它是一个创建了包含对同一个列表五次引用的列表。只有了解了这一点,我们才能更好的理解接下来的输出结果。所以:b[0]和b[1]指向同一个list引用。

原创粉丝点击