列表是重要的Python内置可变序列侄子,是包含若干个元素的有序连续内存空间。在Python中,同一个列表中元素的数据类型可以各不相同。
list()函数可以将其他类型的数据转换为列表,下面是简单的例子:
>>>a_list = list((3,4,5,2,6,7)) #将元组转换成列表
>>>a_list
[3,4,5,2,6,7]
>>>list(range(1,10,2)) #将range对象转换成列表
[1,3,5,7,9]
>>>list('hello world') #将字符串转换成列表
['h','e','l','l','o',' ','w','o','r','k','d']
>>>list({3,4,5,7}) #将集合转换成列表
[3,4,5,7]
>>>list({'a':3,'b':4,'c':7,'d':11}) #将字典的 键 转换为列表
['a','b','c','d']
>>>list({'a':3,'b':4,'c':7,'d':11}.items()) #将字典的“键:值”转换成列表
[('a',3),('b',4),('c',7),('d',11)]
x = list() #创建空列表
取出列表中的元素:
>>>x = list(range(10))
>>>import random
>>>random,shuffle(x) #将列表中的元素打乱顺序
>>>x
[3,1,5,7,9,6,2,0,4,8]
>>>x[0]
3
>>x[2]
5
>>x[-1]
8
>>x[-2]
4
当一个列表不再使用时,可以使用 del 命令将其删除,这一点适用于所有类型的Python对象。另外也可以用来删除字典、列表中的部分元素,不能删除元组、字符串等不可变序列中的部分元素:
>>>x = [1,2,3]
>>>del x[1]
>>>x
[1,3]
>>>del x
>>>x
Traceback (most recent call last): #报错
File "<pyshell#58>", line 1, in<module>
x
NameError:name 'x' is not defined
>>>x = {'a':4,'b':7,'c':12,'d':65}
>>>del x['c'] #删除字典中的'c'键值对
>>>x
{'a':4,'b':7,'d':65}
方法 | 说明 |
lst.append(x) | 将元素x添加到列表lis尾部 |
lst.extend(M) | 将列表M中所有元素添加到列表lst尾部 |
lst.insert(index, x) | 在列表lst指定位置index处添加元素x,该位置后面的所有元素后移一个位置 |
lst.remove(x) | 在列表lst中删除首次出现的指定元素,该元素之后的所有元素前移一个位置 |
lst.pop([index]) | 删除并返回列表lst中下标为index的元素(如果空着,默认为最后一个元素)。 |
lst.clear() | 删除列表lst中的所有元素,但保留列表对象 |
lst.index(x) | 返回列表lst中第一个值为x的元素的下标,如不存在值为x的元素则抛出异常 |
lst.count(x) | 反击指定元素x在列表出现的次数 |
lst.reverse() | 对列表lis内所有元素进行逆序排列 |
lst.sort(key=None,reverse=False) | 对列表lst中的元素进行排序,key用来指定排序依据,reverse决定升序(False),还是降序(True)。 |
lst.copy() | 返回列表lst的浅复制 |