您的位置:首页 > 编程语言 > Python开发

ppython 语句学习3

2016-06-01 10:19 453 查看
>>> for i in range(len(hello)):
print hello[i]

w

o

r

l

d

1、len(hello)得到hello引用的字符串的长度,为5

2、range(len(hello)),就是range(5),也就是[0,1,2,3,4],对应着"world"每个字母索引,也可以称之为偏移量。

3、for i in range(len(hello)),就相当于for i in[0,1,2,3,4],让i依次等于list中的各个值。当i=0时,打印hello[0],也就是第一个字符。然后顺序循环下去,直到最后一个i=4为止。

>>> d = dict([("website", "www.itdiffer.com"), ("lang", "python"),("author", "laoqi")])

>>> d

{'website': 'www.itdiffer.com', 'lang': 'python', 'author': 'laoqi'}

>>> for k in d

     print k

输出结果是:

website

lang

author

注意到,上面的循环,其实是读取了字典的key。在字典中,有一个方法,dict.keys,得到的是字典key列表。

除了可以单独获得key或者value的循环之外,还可以这么做:

>>> for k,v in d.iteritems():
print k + "-->" + v

website-->www.itdiffer.com

lang-->python

author-->laoqi

>>> for i in 321:
print i

Traceback (most recent call last):

  File "<pyshell#19>", line 1, in <module>

    for i in 321:

TypeError: 'int' object is not iterable

报错信息中告诉我们,'int'对象不是可迭代的。言外之意是什么?那就是for循环所应用的对象,应该是可迭代的。那么,怎么判断一个对象是不是可迭代的呢?

>>> import collections

引入collections这个标准库。要判断数字321是不是可迭代的,可以这么做:

>>> isinstance(321, collections.Iterable)

False

返回了False,说明321这个整数类型的对象,是不可迭代的。

>>> isinstance([1,2,3], collections.Iterable)

True

从返回结果,我们知道,列表[1,2,3]是可迭代的。

字符串、列表、字典、元组都是可迭代的。

range(start,stop[,step])

range()函数的以下几点:

1、这个函数可以创建一个数字元素组成的列表。

2、这函数最常用于for循环

3、函数的参数必须是整数,默认从0开始。返回值是类似[start,start+step,start+2*step,...]的列表。

4、step默认值是1。如果不写,就是按照此值。

5、如果step是正数,返回list的最最好的值不包含stop值,即start+istep这个值小于stop:如果step是负数,start+istep的值大于stop。

6、step不能等于零,如果等于零,就报错。

range(start,stop[,step])

1、star: 开始数值,默认为0,也就是如果不写这项,就是认为start=0

2、stop:结束的数值,必须要写的。

3、step:变化的步长,默认是1,也就是不写,就是认为步长为1.坚决不能为0.

>>> range(9)   #从0开始,步长为1,增加1,直到小于9的那个数

[0, 1, 2, 3, 4, 5, 6, 7, 8]  #stop=9,别的都没有写,含义就是range(0,9,1)

>>> range(0,9)

[0, 1, 2, 3, 4, 5, 6, 7, 8]

>>> range(1,9,1)

[1, 2, 3, 4, 5, 6, 7, 8]

>>> range(1,9)

[1, 2, 3, 4, 5, 6, 7, 8]

>>> range(0,9,2)

[0, 2, 4, 6, 8]

找出100以内的能够被3整除的正整数。

>>> range(0,100,3)

[0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Python