3.列表 ———— 一个打了激素的数组
列表里的数据类型可以不一样,有整数,浮点数,字符串,对象。
创建列表
1>,创建一个普通列表, number=[“xiaojiay”,”vbhjcb”]
2>创建一个混合列表 mix=[“bncdks”,1,[1,2,3]]
3>创建一个空列表 empty=[ ]
向列表添加元素
append()
例如 number.append(“gbdjsv”)
但是需要注意的是:append()方法每次只可以添加一个元素
extend()方法
需要可以有一个元素注意 extend()方法使用时候,()里可以有一个元素,也可以有多个元素,但是,必须要用列表形式表示。
练习代码如下:
SyntaxError: invalid syntax
>>> number=["bcnk","cdfv",1]
>>>len(number)
SyntaxError: multiple statements found while compiling a single statement
>>> number = [1,"dfs",2]
>>> len(number)
3
>>> number.append(“scs")
SyntaxError: invalid character in identifier
>>> number.append("dccdsc")
>>> number
[1, 'dfs', 2, 'dccdsc']
>>> number.extend(["fdv",2])
>>> number
[1, 'dfs', 2, 'dccdsc', 'fdv', 2]
>>> number.extend(["dc "])
>>> number
[1, 'dfs', 2, 'dccdsc', 'fdv', 2, 'dc ']
>>> len(number)
7
>>> number
[1, 'dfs', 2, 'dccdsc', 'fdv', 2, 'dc ']
>>> munber=[1,2]
>>> number
[1, 'dfs', 2, 'dccdsc', 'fdv', 2, 'dc ']
>>> munber
[1, 2]
>>> b=number+mumber
Traceback (most recent call last):
File "<pyshell#20>", line 1, in <module>
b=number+mumber
NameError: name 'mumber' is not defined
>>>
无论是append还是extend 方法,都是将元素自动添加到列表末尾,所以,有了第三种方法,insert
insert( , ) 有两个参数,第一个参数表示在列表中的位置,第二个元素表示在该位置插入的元素。代码如下:
number
[1, 2, 'dfs', 2, 'dccdsc', 'fdv', 2, 'dc ']
>>> number.insert(2,"renruli")
>>> number
[1, 2, 'renruli', 'dfs', 2, 'dccdsc', 'fdv', 2, 'dc ']
>>>
从列表中获取元素,用索引值index
从列表中删除元素,
remove(“要删除的元素”)
代码如下:
number = ["renrurili","qinting","1314"]
>>> number
['renrurili', 'qinting', '1314']
>>> number.remove("1314")
>>> number
['renrurili', 'qinting']
>>> number.insert(1,"love")
>>> number
['renrurili', 'love', 'qinting']
>>> number.append("1314")
>>> number
['renrurili', 'love', 'qinting', '1314']
>>>
del语句
del.numbr #删除整个列表
del.number[1] # 删除第一个元素
pop( )方法
默认pop( ) 删除的是最后一个元素,并且有返回值。当然也可在()加一个索引值。返回该索引值对应的元素。
代码:
number
['renrurili', 'love', 'qinting', '1314']
>>> del.number[3]
SyntaxError: invalid syntax
>>> del.number[1]
SyntaxError: invalid syntax
>>> del number[1]
>>> number
['renrurili', 'qinting', '1314']
>>> mumber.pop()
Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
mumber.pop()
NameError: name 'mumber' is not defined
>>> number.pop()
'1314'
>>> name = number.pop()
>>> name
'qinting'
>>> number.pop(0)
'renrurili'
>>> number
[]
>>> mumber = []
>>> mumber
[]
>>>
列表分片(Slice) 一次性获取多个元素,不改变原来列表,可以了理解为拷贝列表。
mumber = [‘renrurili’, ‘love’, ‘qinting’, ‘1314’]
mumber [a :b ]
表示从第a 个元开始,到底=第b 个元素结束,不包括第b个元素。
代码:
mumber = [‘renrurili’, ‘love’, ‘qinting’, ‘1314’]
mumber{1:3]
SyntaxError: invalid syntaxmumber[1;3】
SyntaxError: invalid character in identifier
mumber[1:3]
[‘love’, ‘qinting’]
mumber[:]
[‘renrurili’, ‘love’, ‘qinting’, ‘1314’]
mumber[ :2]
[‘renrurili’, ‘love’]
mumber[1:]
[‘love’, ‘qinting’, ‘1314’]
注意:几个默认值,还要注意不改变原来的列表
列表的一些常用操作符
比较操作符
逻辑操作符
连接操作符
重复操作符
成员关系操作符
话不多说,直接上代码
list1 = [123,456]
>>> list2 = [234,456]
>>> list1 > list2
False
>>> list3 = [123,456]
>>> (list1 < list2)and (list1 == list3)
True
>>> list4 = list1 + list2
>>> list4
[123, 456, 234, 456]
>>> list4 = list1 +8
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
list4 = list1 +8
TypeError: can only concatenate list (not "int") to list
>>>
这个与字符串比较相似
重复操作符以及成员关系操作符
list2
[234, 456]
>>> list2 *2
[234, 456, 234, 456]
>>> list2 *= 2
>>> list2
[234, 456, 234, 456]
>>> 234 in list2
True
>>> 234 not in list2
False
>>> list = [[123,156],789]
>>> 123 in list
False
>>> [123,156] in list
True
其中成员关系操作还可有返回值
代码
有点问题
列表的内置函数BIF
count( )
计数列表中count出现的次数
Index( , a ,b )
返回a 到b 范围内index中的第一个参数出现的位置
.reverse( )
无参数 逆
. sort( )
默认从小到大排列。
.sort(reverse=True)
从大到小排列
真正的拷贝
list1 = [1,2,3,4,5]
>>> list2 = list1[:]
>>> list3 = list1
>>> list1.reverse()
>>> list1
[5, 4, 3, 2, 1]
>>> list2
[1, 2, 3, 4, 5]
>>> list3
[5, 4, 3, 2, 1]
>>>