python第一章1.1.3 列表
2015-10-30 09:53
585 查看
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.
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.
相关文章推荐
- 开始Python 1.大纲整理
- Python使用socket传输文件
- python操作mysql数据库
- python vimrc设置
- (转)python之并行任务的技巧
- Python 标准库 urllib2 的使用细节
- python中的StringIO模块
- python学习-----添加IPS到数据文件
- 通过python的ConfigParse模块读写ini配置文件
- 转 -- 使用python的paramiko模块实现ssh与scp功能
- python通过文件头判断文件类型
- Python虚拟环境:Vitualenv
- LeetCode----Binary Search Tree Iterator
- python学习记录之1029
- 记录python数据持久存储的一点问题
- python学习笔记(一)
- 记。。关于python处理表单
- python3 入门 (四) 类与继承
- python3 入门 (四) 类与继承
- Python获取股票历史数据和收盘数据的代码实现