list是python内置的一种数据类型,是一种可变的有序表,有序意味着可以根据位置索引来进行插入和删除数据;
创建一个列表:
>>> colleague = ['Any','Tom','Pamy'] >>> colleague ['Any', 'Tom', 'Pamy'] 上面的变量colleague就是一个list。
len(list):列表中元素个数
list[item]:使用索引访问list中的每个元素,第一个索引是[0],最后一个索引是[-1]或者len(list)-1,当索引超过范围时,回提醒IndexError的报错。
list.append(str):追加元素到列表末尾
list.insert(i,str):在索引为i的位置插入一个字符串
list.pop():删除list末尾的元素,也可以指定索引,来删除指定位置的元素
list(i) = str替换掉指定位置的元素
测试代码:
>>> colleague ['Any', 'Tom', 'Pamy'] >>> >>> >>> len(colleague) 3 >>> colleague[0] 'Any' >>> colleague[1] 'Tom' >>> colleague[2] 'Xiao' >>> colleague[-1] 'Xiao' >>> colleague[-2] 'Tom' >>> colleague[-3] 'Any' >>> colleague[len(colleague)-1] 'Pamy' >>> colleague.append('xiao') >>> colleague ['Any', 'Tom', 'Pamy', 'xiao'] >>> colleague.insert(2,'Jack') >>> colleague ['Any', 'Tom', 'Jack', 'Pamy', 'xiao'] >>> colleague.pop() 'xiao' >>> colleague ['Any', 'Tom', 'Jack', 'Pamy'] >>> colleague.pop(2) 'Jack' >>> colleague ['Any', 'Tom', 'Pamy'] >>> colleague[2] = 'Xiao' >>> colleague ['Any', 'Tom', 'Xiao'] 1.list里的元素的类型可以不同;
2.list里可以内嵌list,这种情况下类似二维数组;
3.如果一个list里一个元素都没有,这是一个空的list,用L = []表示;长度为0
测试代码:
>>> L = ['姚潇锋','18','男'] >>> L ['姚潇锋', '18', '男'] >>> s = ['shanxi','henan',['shenzhen','guangzhou'],'beijing'] >>> s ['shanxi', 'henan', ['shenzhen', 'guangzhou'], 'beijing'] >>> s[0] 'shanxi' >>> s[1] 'henan' >>> s[2] ['shenzhen', 'guangzhou'] >>> s[2][0] 'shenzhen' >>> s =[] >>> s [] >>> len(s) 0 tuple 是一种有序不可变的数据类型,所以tuble是没有增加删除的操作,只有根据索引查询的操作。这个不可变的特性使代码更安全,所以能用tuble替代list的地方就要替代.
tuple的不可变是指tuple每个元素的指向不变,而不是内容不变,比如一个tuple中有可变的元素list,那么我们是可以对llist进行做插入修改操作的,这样,实际上tuple的内容是变了的,但是指向依然是list,指向没变。
tuple创建陷阱:
当元组中只有一个元素时,创建需要在后面加上逗号,否则会被当作小括号来处理,输出为整数或者字符串等,而不是元组。
测试代码:
>>> T = ('Any','Tom','Xiao') >>> T ('Any', 'Tom', 'Xiao') >>> T[0] 'Any' >>> T[-1] 'Xiao' >>> T[len(T)-1] 'Xiao' >>> >>> t = () >>> t () #tuple 陷阱测试 >>> t = ('Who are you') >>> t 'Who are you' >>> t = ('Who are you',) >>> t ('Who are you',) #tuple的可变与不可变演示 >>> T = ('Any',18,['shenzhen','guangzhou']) >>> T ('Any', 18, ['shenzhen', 'guangzhou']) >>> T[2] ['shenzhen', 'guangzhou'] >>> T[2][1] 'guangzhou' >>> T[2][1] = 'shanxi' >>> T[2][1] 'shanxi' >>> T ('Any', 18, ['shenzhen', 'shanxi'])