Python入门笔记(一):列表和元组

列表和元组区别

元组和列表最大的区别就是,可以任意修改列表中的元素,可以任意插入或者删除一个元素,但对于元组是不行的。
另外一个明显区别是,创建列表时用的是中括号,创建元组大部分时候用的小括号。如果是:

>>>temp = (1)
>>>type(temp)
    

发现temp还是int类型,改为:

>>>temp = 1, 2, 3
>>>type(temp)

没有小括号,temp还是元组,所以逗号才是关键,想要建立一个只有一个元素的元组,必须加上逗号:

>>>temp = (1,)
>>>type(temp)

再举个例子:

>>>8 * (8)
64
>>>8 * (8,)
(8, 8, 8, 8, 8, 8, 8, 8)

关于列表分片“拷贝”概念

利用分片创建列表的拷贝与利用“赋值”创建新列表:

>>>list1 = [1, 2, 3, 4, 5]
>>>list2 = list1[:]
>>>list2
[1, 2, 3, 4, 5]
>>>list3 = list1
>>>list3 
[1, 2, 3, 4, 5]

看似list2和list3没有区别,用一下翻转排序:

>>>list1.reverse()
>>>list1
[5, 4, 3, 2, 1]
>>>list2
[1, 2, 3, 4, 5]
>>>list3
[5, 4, 3, 2, 1]

可以看到,使用分片方式得到的拷贝list2是真正的拷贝一个新列表,list3的方式只是为一个列表指定另一个名字的做法,向同一个列表增加了一个新标签而已。

更新和删除元组

元组不能直接修改其中的元素,但是可以通过间接的方法,分片拷贝至新元组,然后拼接,例如:

>>>fruit = ('apple', 'banana', 'orange', 'lemon')
>>>fruit = fruit[:2] + ('peach',) + fruit[2:]
>>>fruit
('apple', 'banana', 'peach', 'orange', 'lemon')

注意中间插入的也是元组('peach',),如果单单是一个字符串'peach'是不行的。同理,删除一个元素可以用:

>>>fruit = fruit[:2] + fruit[3:]
>>>fruit
('apple', 'banana', 'orange', 'lemon')

可以用del语句删除整个元组

你可能感兴趣的:(Python入门笔记(一):列表和元组)