列表是指一组数据有序的排列方式,可以通过索引的方式来访问数据。列表是可修改的。

1.创建列表

列表中的数据可是任意类型,包括整数、浮点数、字符串、列表、元组,字典等

list1=[1,2,3,4,5,6]
list2=['a','b','c',5,6,7,[1,2,3,4]]

修改列表

list1=[1,2,3,4]
list1[0]=999
print list1
[999, 2, 3, 4]

2.访问列表

列表访问与字符串一致。

list1=[1,2,3,4,5]
list1[0]
1
list1[-3]
3

3.切片

列表的切片与字符串相同。

list1[1:-3]
[2]
list1[1:-1]
[2, 3, 4]
list1[:]
[1, 2, 3, 4, 5]
list1[9:]
[]

4、列表的方法

a. append向列表尾部增加一个元素

格式:L.append(object) -- append object to end

>>> l=[1,2,3,4,5]
>>> print l
[1, 2, 3, 4, 5]
>>> l.append(0)
>>> print l
[1, 2, 3, 4, 5, 0]

b. count列表中一个元素出现的次数(有返回值)

格式:L.count(value) -> integer -- return number of occurrences of value

>>> l=[1,2,1,2,1,2,1,2]
>>> l.count(1)
4
>>> l.count(2)
4

c. extend向列表中追加一个列表(元组)

格式:L.extend(iterable) -- extend list by appending elements from the iterable

>>> l=[1,2,3,4,5]

>>> b=[1,2,3]
>>> l.extend(b)
>>> print l
[1, 2, 3, 4, 5, 1, 2, 3]
>>> b=(6,6,6)
>>> l.extend(b)
>>> l
[1, 2, 3, 4, 5, 1, 2, 3, 6, 6, 6]

d. index显示列表中元素的索引位置,如果不存在报异常.

格式:L.index(value, [start, [stop]]) -> integer -- return first index of value.

>>> l=[1,2,3,4,5]
>>> l.index(4)
3
>>> l.index(7)
Traceback (most recent call last):
  File "", line 1, in 
ValueError: 7 is not in list
在这里index用法中,可在指定元素之后指定索引位置
>>> l.index(4,3,5)
3
>>> l.index(4,4,5)
Traceback (most recent call last):
  File "", line 1, in 
ValueError: 4 is not in list

e. instert 插入一个元素

格式:L.insert(index, object) -- insert object before index>>> l

[1, 2, 3, 4, 5]
>>> l.insert(2,9)
>>> print l
[1, 2, 9, 3, 4, 5]

2指索引位置为2位置的元素,在其后插入9

f. pop删除最后一个元素,有返回值

格式: L.pop([index]) -> item -- remove and return item at index (default last).

>>> l=[1,2,3,4,5]
>>> l.pop()
5
>>> print l
[1, 2, 3, 4]

g. remove删除指定元素,不存在则报异常

格式:L.remove(value) -- remove first occurrence of value.

>>> print l
[1, 2, 3, 4]
>>> l.remove(2)
>>> print l
[1, 3, 4]
>>> l.remove(9)
Traceback (most recent call last):
  File "", line 1, in 
ValueError: list.remove(x): x not in list

h. reverse列表反转

格式:L.reverse() -- reverse *IN PLACE*

>>> print l
[1, 2, 3, 4, 5, 6]
>>> l.reverse()
>>> print l
[6, 5, 4, 3, 2, 1]
>>>

i. sort列表排序

格式:L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;

      cmp(x, y) -> -1, 0, 1

cmp可以指定一个函数,key可以指定排序的依据,reverse是指排列顺序,默认False从小到大。

>>> l=[3,5,6,2,4,1,9]
>>> l.sort()
>>> print l
[1, 2, 3, 4, 5, 6, 9]

从大到小排序

>>> l=[3,5,6,2,4,1,9]
>>> l.sort(reverse=True)
>>> l
[9, 6, 5, 4, 3, 2, 1]

依据字符串长短排序

>>> l=["c","www","aaaa","aa","ee"]
>>> l.sort(key=len)
>>> print l
['c', 'aa', 'ee', 'www', 'aaaa']

默认排序

>>> l=["c","www","aaaa","aa","ee"]
>>> l.sort()
>>> print l
['aa', 'aaaa', 'c', 'ee', 'www']

    总结:列表的用法相对于字符串少,也简单,但列表同字符串一样重要。列表是可修改的,这一点十分重要,看完这篇文章后大家可以想想列表与字符串如何转化,在上一章文章中是有介绍的哦,忘记了的话可以看看上一篇文章。