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


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

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

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

>>> a = ['spam', 'eggs', 100, 124]
>>> a
['spam', 'eggs', 100, 124]
>>> a[0]
'spam'
>>> a[3]
124
>>> a[1:-1]
['eggs', 100]

这个数组可以任意拼接

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


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

>>> a
['spam', 'eggs', 100, 124]
>>> a[2]+32
132
>>> a[2]=a[2]+32
>>> a
['spam', 'eggs', 132, 124]

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

>>> 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]

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

>>> a
[132, 'qwertqwertqwert', 'bletch', 'xyzzy', 124]
>>> a[:0] = a
>>> a
[132, 'qwertqwertqwert', 'bletch', 'xyzzy', 124, 132, 'qwertqwertqwert', 'bletch', 'xyzzy', 124]

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

>>> a[:] = []
>>> a
[]


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

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


python中的列表可以嵌套列表

>>> 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都只是指针

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