前言
今天上午没有学多长时间,所以就主要看了Python的两种数据类型:列表和元组,分享给大家,也方便自己以后复习。
1.1 列表 List1.2 元组 Tuple
总结
1.1 列表 List
Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。
classmate = ['张三','李四','王五']
print(classmate)
print(len(classmate))
#控制台输出
['张三', '李四', '王五']
3
List列表中内置索引,从0 开始,最大值为列表长度减1。超过最大值会报越界异常。
classmate = ['张三','李四','王五']
print(classmate[4])
#控制台输出
IndexError: list index out of range
下列是List的主要方法:
#insert 向指定位置添加元素
classmate = ['张三','李四','王五']
classmate.insert(0,'赵六')
print(classmate)
#控制台输出
['赵六', '张三', '李四', '王五']
#append 在list列表末尾追加元素
classmate = ['张三','李四','王五']
classmate.append('赵六')
print(classmate)
#控制台输出
['张三', '李四', '王五', '赵六']
#想要修改某个位置的元素 直接替换该位置的元素即可
classmate = ['张三','李四','王五']
classmate[1] = '赵六'
print(classmate)
#控制台输出
['张三', '赵六', '王五']
#list列表中的元素也可以是一个列表 获取该列表中元素与之前无异
classmate = ['张三','李四','王五']
classmate[1] = ['张三','李四']
print(classmate)
print(classmate[1][1])
#控制台输出
['张三', ['张三', '李四'], '王五']
李四
1.2 元组 Tuple
还有一种和list非常类似的序列表,叫元组 (Tuple),,但是tuple一旦初始化就不能修改。
#列表放置元素为中括号[]
#元组放置元素为小括号()
元组的获取方法和列表相同,也是根据下标获取。
那我们就要疑问了,不可变的tuple有什么意义?
因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。
我还做了一个小的测试,我们说Tuple是不可变的,那么如果Tuple中含有一个List列表,那该列表可变吗?
test1 = (1,2,3,[4,5],6)
print(test1)
test1[3][1] = '哈哈'
print(test1)
#控制台输出
(1, 2, 3, [4, 5], 6)
(1, 2, 3, [4, '哈哈'], 6)
看来答案是肯定的,表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向’a’,就不能改成指向’b’,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
总结
list和tuple是Python内置的有序集合,一个可变,一个不可变。我们可以根据需要来选择使用它们。