切换风格

Wizard Sky California Sunset glow Black Cloud Beige Dragon Lavender NewYear City Snow Flowers London
收藏本站XSS平台字符串转换jsfuck
基础篇5:python基本数据结构-python列表应用[复制链接]
发表于 2013-1-2 15:59:27 | 显示全部楼层 |!read_mode!

1.内置list方法。

返回一个列表,参数是可迭代对象(元组、字符串都是可迭代对象,数字不是可迭代对象)。
里面输出的内容还是保持了传入的可迭代对象的元素和顺序。

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


a="kjsdkfjkdsj"
b=list(a)
print b                 #['k', 'j', 's', 'd', 'k', 'f', 'j', 'k', 'd', 's', 'j']

a=(11,21,22,12,4554)
b=list(a)
print b                 #[11, 21, 22, 12, 4554]

a="23"
b=list(a)
print b                 #['2','3']

a=23
b=list(a)
print b                 #TypeError: 'int' object is not iterable

a=""
b=list(a)
print b                 #[]


2.xrange和range的具体区别。


a = xrange(1,5)
print a                #xrange(1, 5)
b = range(1,5)
print b                #[1, 2, 3, 4]


2.1 xrange的用法:


xrange(开始,结束,步长)


xrange 它生成一个xrange对象。


比如我们


a = xrange(1,10)

print type(a)

print a[0]



2.2 比较


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


xrange: 它是生成一个xrange对象.


xrange的用法:

1当我们需要操作一个非常大的数据,而且内存比较吃紧的时候,我们可以用xrange来操作省内存。
2xrange一般用在循环里面,比如我们只需要操作部分数据的话,而不是返回全部元素来完成操作,推荐xrange,效率更高。

比如:



#range测试(会生成1~1000全部列表)
for m in range(1000):


if m == 10:


print 'sss'


break


#xrange测试(只会生成1~10列表后中断)




for m in xrange(1000):


if m == 10:


print 'sss'


break





3.列表推导式之再应用。


3.1.1 可以做很多例子只要你有想法,



3.1.2 取出1-100的所有值的平方。
print [x*x for x in range(100)]        #[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

                       
3.1.3 里面生成东西不只是数字。


生成字符串
print ['the %s' % d  for d in xrange(10)]        #['the 0', 'the 1', 'the 2', 'the 3', 'the 4']


生成元组
print [(x,y) for x in range(2) for y in range(2)]        #[(0, 0), (0, 1), (1, 0), (1, 1)]


生成字典  举例

print dict([(x,y) for x in range(3) for y in range(2)])        #{0: 1, 1: 1, 2: 1}




4 翻来覆去之再谈引用


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

b = a

a[2] = 'laowang'



print b                          #这里b的值是什么?

['i', 'am', 'laowang']
del b

print a                            #a是什么值

?['i', 'am', 'laowang']


5 小技巧之再议删除


a = []


1 del a 删除列表对象的引用


2 del a[:] 清空列表对象里的元素





发表于 2013-1-2 15:59:52 | 显示全部楼层
占位待编辑
发表于 2013-1-3 10:34:43 | 显示全部楼层
学习一下啊,不错的教程

代码区

GMT+8, 2019-11-21 04:40

Powered by Discuz! X2

© 2001-2018 Comsenz Inc.

回顶部