python第一章1.1.3 列表

来源:互联网 发布:aop面向切面编程面试题 编辑:程序博客网 时间:2024/05/19 22:49
1.1.3 列表
Python 可以支持一些符合数据类型,常常和只一起分类。最典型的就是list, 它可以写成在方括号内一组用逗号分开的数值。List 的数据项不一定都是相同的类型。
>>> a = [’spam’, ’eggs’, 100, 1234]
>>> a
[’spam’, ’eggs’, 100, 1234]
像字符串索引一样,列表索引从0 开始,也可以切分和连接。
>>> a[0]
’spam’
>>> a[3]
1234
>>> a[-2]
100
>>> a[1:-1]
[’eggs’, 100]
>>> a[:2] + [’bacon’, 2*2]
[’spam’, ’eggs’, ’bacon’, 4]
>>> 3*a[:3] + [’Boo!’]
[’spam’, ’eggs’, 100, ’spam’, ’eggs’, 100, ’spam’, ’eggs’, 100, ’Boo!’]


所有的切操作符都返回一个包含要求元素的新列表,这意外着以下操作将返回列表a 的一份浅拷贝。

>>> a[:]
[’spam’, ’eggs’, 100, 1234]
不像不可变的字符串,列表可以改变列表中的元素。
>>> a
[’spam’, ’eggs’, 100, 1234]
>>> a[2] = a[2] + 23
>>> a
[’spam’, ’eggs’, 123, 1234]


对片段设置也是允许的,这甚至能够改变list 的大小和全部清除。

>>> # Replace some items:
... a[0:2] = [1, 12]
>>> a
[1, 12, 123, 1234]
>>> # Remove some:
... a[0:2] = []
>>> a
[123, 1234]
>>> # Insert some:
... a[1:1] = [’bletch’, ’xyzzy’]
>>> a
[123, ’bletch’, ’xyzzy’, 1234]
>>> # Insert (a copy of) itself at the beginning
>>> a[:0] = a
>>> a
[123, ’bletch’, ’xyzzy’, 1234, 123, ’bletch’, ’xyzzy’, 1234]
>>> # Clear the list: replace all items with an empty list
>>> a[:] = []
>>> a
[]


内置方法len()也支持列表

>>> a = [’a’, ’b’, ’c’, ’d’]
>>> len(a)
4
列表也可以充当另一个列表的元素
>>> q = [2, 3]
>>> p = [1, q, 4]
>>> len(p)
3
>>> p[1]
[2, 3]
>>> p[1][0]
2


可以在列表结尾操作。

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


注意在上面例题中,p[1]和q常常都是指同样的对象,接下来我们学习对象语法。

Note that in the last example, p[1] and q really refer to the same object! We’ll come back to object
semantics

later.


0 0
原创粉丝点击