python 基础——列表

在说这个之前,简单的对 unicode 字符串对象的做一下笔记吧

python 是原生支持 Unicode 的,使用 unicode 的字符串时只需要在字符串前加个 “u”

1
2
>>> u'Hello\u0020World !'
u'Hello World !'

对于 python 的列表,其实可以理解为数组,不过这种数组不是普通的数组,它是可以支持不同类型数据的增强型数组

1
2
3
4
5
6
7
8
9
>>> a = ['spam', 'eggs', 100, 124]
>>> a
['spam', 'eggs', 100, 124]
>>> a[0]
'spam'
>>> a[3]
124
>>> a[1:-1]
['eggs', 100]

这个数组可以任意拼接

1
2
>>> 3*a[:2] + ['bacon', 2*2]
['spam', 'eggs', 'spam', 'eggs', 'spam', 'eggs', 'bacon', 4]

不同于前面学的字符串,这个列表还可以任意修改

1
2
3
4
5
6
7
>>> a
['spam', 'eggs', 100, 124]
>>> a[2]+32
132
>>> a[2]=a[2]+32
>>> a
['spam', 'eggs', 132, 124]

可以自由的任意增加和删除元素

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
>>> a[0:2] = ['haha', 120]
>>> a
['haha', 120, 132, 124]
>>> a[0:2] = []
>>> a
[132, 124]
>>> a[1:1] = ['bletch', 'xyzzy']
>>> a
[132, 'bletch', 'xyzzy', 124]
>>> a[1:1] = [3*'qwert']
>>> a
[132, 'qwertqwertqwert', 'bletch', 'xyzzy', 124]
>>> a[1:1] = [3*"qwert"]
>>> a
[132, 'qwertqwertqwert', 'qwertqwertqwert', 'bletch', 'xyzzy', 124]
>>> a[1] = []
>>> a
[132, [], 'qwertqwertqwert', 'bletch', 'xyzzy', 124]
>>> a[1:1] = []
>>> a
[132, [], 'qwertqwertqwert', 'bletch', 'xyzzy', 124]
>>> a[1:2] = []
>>> a
[132, 'qwertqwertqwert', 'bletch', 'xyzzy', 124]

特殊操作:列表中插入其他列表的元素

1
2
3
4
5
>>> a
[132, 'qwertqwertqwert', 'bletch', 'xyzzy', 124]
>>> a[:0] = a
>>> a
[132, 'qwertqwertqwert', 'bletch', 'xyzzy', 124, 132, 'qwertqwertqwert', 'bletch', 'xyzzy', 124]

特殊操作:删除列表中所有元素

1
2
3
>>> a[:] = []
>>> a
[]

len 函数一样可以用于求列表长度操作

1
2
3
4
>>> a
['spam', 'eggs', 100, 123]
>>> len(a)
4

python 中的列表可以嵌套列表

1
2
3
4
5
6
7
8
9
10
>>> q = [2, 3]
>>> p = [1, q, 4]
>>> p
[1, [2, 3], 4]
>>> len(p)
3
>>> len(p[1])
2
>>> p[1][0]
2

下面的例子可以说明,p 和 q 都只是指针

1
2
3
4
5
>>> p[1].append('xtra')
>>> q
[2, 3, 'xtra']
>>> p
[1, [2, 3, 'xtra'], 4]