python实验六列表的应用_第五节课:Python列表的应用

一、内置list方法

a = 'asdsf'

list(a)

返回一个列表, 参数是可选迭代对象。 里面输出的内容还是保持了传入可迭代对象的元素和顺序.

如果参数为空,则返回一个空的列表.

二、xrange和range的区别

2.1 迭代的意思:重复很多次做一些事情。 在Python中实现了__iter__方法的对象是可迭代的, 比如list,tuple,dict

2.2 xrange的用法

xrange(开始,结束,步长)

xrange生成一个xrange对象, 生成器的概念.

>>> a = xrange(1,10)

>>> a

xrange(1, 10)

>>> print type(a)

>>> print a[0]

1

>>> b = range(1,10)

>>> print type(b)

>>> b[0]

1

2.3 比较

range: 直接生成一个列表对象

xrange: 它是生成一个列表对象

xrange的用法:

1. 当我们需要操作一个非常大的数据,而且内存比较吃紧的时候,我们可以用xrange来节省内存.

2. xrange一般用在循环里面, 比如我们只需要操作部分数据的话, 而不是返回全部的数据来完成操作,推荐使用 xrange

for m in range(1000): [0-999]

if m == 10:

print 'sss'

break

for m in xrange(1000): [0-10] 11

for m == 10:

print 'sss'

break

三、列表推导式之再应用

3.1 取出1-100的所有直的平方

[x*x for x in range(101)]

3.2 里面生成的东西不只是数字

生成字符串 ['the %s' % x for x in range(10)]

生成元组 [(x,y) for x in range(2) for y in range(2)]

生成字典 dict([(x,y) for x in range(2) for y in range(2)])

四、翻来覆去之再谈引用 - 列表是可变对象

>>> a = ['i','am','lilei']

>>> b = a

>>> id(a)

38575480

>>> id(b)

38575480

>>> a[2]='xiaoming'

>>> print a

['i', 'am', 'xiaoming']

>>> print b

['i', 'am', 'xiaoming']

>>> del a

>>> b

['i', 'am', 'xiaoming']

>>>

>>> a = 'ABCDEFG'

>>> b = a

>>> id(a)

38588992

>>> id(b)

38588992

>>> a[2]

'C'

>>> a[2] = 'D'

Traceback (most recent call last):

File "", line 1, in

TypeError: 'str' object does not support item assignment

五、小技巧之再议删除

a = []

del a 基本删除

del a[:] 大量删除,适合a里数据太多的时候使用。性能上比上面好很多.

del c 和 del c[:] 还是有区别的.

>>> a = [1,2,3]

>>> b = a

>>> del a

>>> b

[1, 2, 3]

>>> c = b

>>> c

[1, 2, 3]

>>> del c[:]

>>> c

[]

>>> b

[]

修改、删除值,引用的内容会变化. 直接删除变量,原来引用的位置不会变化, 只是引用数量getrefcount减少. 这一点一定要注意.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值