这些都是从我的技术分享网站转载的
tuple和list都是一种有序的集合,不同的是list可以随时添加和删除其中的元素,而tuple一经初始化就不能修改
一、list
list叫列表,下面我们来介绍一下list的创建、删除和修改和增加
list的创建和查找:
>>> zgc_list=['zhangguochang',1,'you','hello',2.1] >>> len(zgc_list) 5 >>> zgc_list[0] 'zhangguochang' >>> zgc_list[-1] 2.1 >>> zgc_list[-2] 'hello' >>> zgc_list[2] 'you'
list用方括号[]表示,里面可以是各种数据类型及其组合,len(zgc_list)是计算list的元素个数,访问list的方法就是用索引访问,我们的第一个元素在list里面是第0个,如zgc_list[0]就是zgc_list这个list的第一个元素,list的倒数第一个元素用zgc_list[-1]表示,倒数第二个元素用zgc_list[-1],注意不能超过list的范围进行访问,否则会报错,zgc_list[-6]和zgc_list[5]都会报错,因为已经超出list的范围了
list的创建除了用上面的直接手工赋值外,还可以用for循环的方式创建,如下:
>>> zgc_list=['I love you '+str(i)+' years' for i in range(100,103)] >>> zgc_list ['I love you 100 years', 'I love you 101 years', 'I love you 102 years']
上面的i是一个整型变量,从100取到102,需要把它用str()函数强制转化为字符串型变量后,才能将其与I love you和years这两个字符串连接起来
list的删除:
>>> zgc_list=[11,22,33,44,55,66,77,88,99,100,200,300,400,500] >>> del zgc_list[2] >>> zgc_list [11, 22, 44, 55, 66, 77, 88, 99, 100, 200, 300, 400, 500] >>> zgc_list.pop() 500 >>> zgc_list [11, 22, 44, 55, 66, 77, 88, 99, 100, 200, 300, 400] >>> zgc_list.remove(66) >>> zgc_list [11, 22, 44, 55, 77, 88, 99, 100, 200, 300, 400] >>> zgc_list[:4] [11, 22, 44, 55] >>> zgc_list[:-1] [11, 22, 44, 55, 77, 88, 99, 100, 200, 300]
上面使用了四种删除list元素的方法
1.使用del删除对应下标的元素,如del zgc_list[2]
2.使用.pop()删除最后一个元素,如zgc_list.pop()
3.删除指定值的元素,如zgc_list.remove(66)
4.使用切片来删除,如zgc_list[:4],它表示截取zgc_list的第0个至第三个元素
list的修改:
>>> zgc_list=[1,2,3] >>> zgc_list[2]=100 >>> zgc_list [1, 2, 100]
修改list可以直接将某个位置的元素重新赋值就行,比如zgc_list[2]=100,就将zgc_list索引为2的元素由3替换为100了
list的增加:
>>> zgc_list=[1,2,3] >>> zgc_list.append('zhangguochang') >>> zgc_list [1, 2, 3, 'zhangguochang']
.append()用户向list添加新的元素,新元素放到list的末尾
二、tuple
tuple叫元组,tuple用小括号来表示(),里面防止各种类型的数据
>>> zgc_tuple=('zhangguochang',12,True) >>> zgc_tuple[1] 12 >>> zgc_tuple[-1] True >>> zgc_tuple.append(3) Traceback (most recent call last): File "", line 1, inzgc_tuple.append(3) AttributeError: 'tuple' object has no attribute 'append' >>> zgc_tuple[2]=2 Traceback (most recent call last): File "", line 1, inzgc_tuple[2]=2 TypeError: 'tuple' object does not support item assignment
tuple可以与list一样用索引访问,但是却不能增加或者修改,这样都会报错