python之list用法及其常见错误

这里分享一下讲义吧 python 里面有一个很是强大的数据类型list。他什么都能装下。python

peter@智普教育:~$ python
Python 2.7.3 (default, Aug 1 2012, 05:16:07)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> l1 = [4,5,"5"]
>>> print l1
[4, 5, '5']
>>>

从上面的例子你能够看出 list里面既能够支持 int类型,也能够支持str类型。linux

print l1[0]
>>> print l1[0]
4

list是能够写的,而int和str是只读的。app

>>> l1[0]="32"
>>> print l1
['32', 5, '5']

发生了什么? 类型均可以改变!这就是奇迹。 若是你要在C语言里面这么作几乎是不可能的事情。 list 复制函数

>>> l1=[1,2,3]
>>> l2=l1
>>> l1[0]=10
>>> print l1
[10, 2, 3]
>>> print l2
[10, 2, 3]
>>>

如何复制?code

>>> l2=l1[:]
>>> print l2
[10, 2, 3]
>>> l1[0]=24
>>> print l1
[24, 2, 3]
>>> print l2
[10, 2, 3]
>>>

发生了什么? 第一种是指向,其实仍是同一个内容。 第二种是复制。orm

本质上的区别rem

>>> l2 = l1
>>> l2 == l1 #值相同
True
>>> l2 is l1 #指向同一个地方
True
>>> l2 = l1[:]
>>> l2 == l1 #值相同
True
>>> l2 is l1 #并非指向同一个地方
False

列表里面能够放入一个列表吗?it

l1=[1,"a",[2,3,4]]

能够!io

如何取得2,3,4?ast

l1[2][0]

你不应作什么?

>>> l1=[]
>>> l1[0]="a"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list assignment index out of range

为何? 由于l1等于一个空列表,没有空间。 l1[0]是须要空间的。

咱们该怎么让空list存储数据?

list有一写默认的函数

l1.append("a")

删除成员的方法

>>> l1.append("b")
>>> l1.append("c")
>>> l1.append("d")
>>> l1.append("b")
>>> print l1
["b", "c", "d","b"]
>>> l1.remove("b")
>>> print l1
["c", "d","b"]
>>> l1.remove("b")
>>> print l1
["c","d"]

还有

l1.pop()

再试一个删除的高级用法

>>> print l1
[2, 3, 4, 5]
>>> del l1[1:3]
>>> print l1
[2, 5]

怎么样,python强大吗?

如何插入一个元素:

>>> l1.insert(1,67)
>>> print l1
[2, 67, 5]
相关文章
相关标签/搜索