关闭

ppython 语句学习3

标签: Python
122人阅读 评论(0) 收藏 举报
分类:
>>> 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]
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:127872次
    • 积分:4057
    • 等级:
    • 排名:第8004名
    • 原创:276篇
    • 转载:56篇
    • 译文:0篇
    • 评论:5条
    最新评论