Python knows a number of compound data types, used to group together other values. The most versatile is the list, which can be written as a list of comma-separated values (items) between square brackets. Lists might contain items of different types, but usually the items all have the same type.html
Python拥有复合类型。最通用的是列表,用中括号括起来,元素用逗号隔开。列表能够包含不一样的类型,但一般一个列表的全部元素类型都应该是同样的。python
>>> squares = [1, 4, 9, 16, 25] >>> squares [1, 4, 9, 16, 25]
Like strings (and all other built-in sequence type), lists can be indexed and sliced:app
相似于字符串类型(全部的其余内置序列类型),列表支持索引和切片:函数
>>> squares[0] # indexing returns the item 1 >>> squares[-1] 25 >>> squares[-3:] # slicing returns a new list [9, 16, 25]
All slice operations return a new list containing the requested elements. This means that the following slice returns a new (shallow) copy of the list:ui
全部的切片操做都是返回一个新的列表,所以下面的操做就是复制该列表:this
>>> squares[:] [1, 4, 9, 16, 25]
Lists also support operations like concatenation:spa
列表也支持链接操做:code
>>> squares + [36, 49, 64, 81, 100] [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
Unlike strings, which are immutable, lists are a mutable type, i.e. it is possible to change their content:htm
不像字符串是不可变量,列表是可变类型,例如:它能够改变它自己某个元素的值:blog
>>> cubes = [1, 8, 27, 65, 125] # something's wrong here >>> 4 ** 3 # the cube of 4 is 64, not 65! 64 >>> cubes[3] = 64 # replace the wrong value >>> cubes [1, 8, 27, 64, 125]
Assignment to slices is also possible, and this can even change the size of the list or clear it entirely:
能够给切片的子列表赋值,这意味着能够改变列表中的某段子列表,甚至能够清空整个列表:
>>> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] >>> letters ['a', 'b', 'c', 'd', 'e', 'f', 'g'] >>> # replace some values >>> letters[2:5] = ['C', 'D', 'E'] >>> letters ['a', 'b', 'C', 'D', 'E', 'f', 'g'] >>> # now remove them >>> letters[2:5] = [] >>> letters ['a', 'b', 'f', 'g'] >>> # clear the list by replacing all the elements with an empty list >>> letters[:] = [] >>> letters []
The built-in function len() also applies to lists:
内置函数len()一样适用于列表:
>>> letters = ['a', 'b', 'c', 'd'] >>> len(letters) 4
It is possible to nest lists (create lists containing other lists), for example:
列表能够嵌套,也就是列表中的元素也能够是列表:
>>> a = ['a', 'b', 'c'] >>> n = [1, 2, 3] >>> x = [a, n] >>> x [['a', 'b', 'c'], [1, 2, 3]] >>> x[0] ['a', 'b', 'c'] >>> x[0][1] 'b'
Of course, we can use Python for more complicated tasks than adding two and two together. For instance, we can write an initial sub-sequence of the Fibonacci series as follows:
固然,咱们能够使用Python来作更复杂的任务,例如两个数相加,咱们能够作一个斐波那契数列以下:
>>> # Fibonacci series: ... # the sum of two elements defines the next ... a, b = 0, 1 >>> while b < 10: ... print(b) ... a, b = b, a+b ... 1 1 2 3 5 8