python中的迭代与循环

常用的循环结构是用于迭代多个项的for语句,循环是python最重要的功能之一,最常见的迭代只是循环一个序列(字符串,列表,或者元组)的所有成员

1,迭代列表:

for n in [1,2,3,4,5,6,7,8,9]:
 print("number:%d  value: %d" %(n,2*n))

输出结果:

number:1  value: 2
number:2  value: 4
number:3  value: 6
number:4  value: 8
number:5  value: 10
number:6  value: 12
number:7  value: 14
number:8  value: 16
number:9  value: 18

解释:每次迭代都会将列表中的值赋给变量n 在整数范围内执行循环十分常见,为此产生了快捷方法:

for n in range(1,10):
 print("number:%d value:%d"%(n,2*n));

输出结果:

number:1 value:2
number:2 value:4
number:3 value:6
number:4 value:8
number:5 value:10
number:6 value:12
number:7 value:14
number:8 value:16
number:9 value:18

range(i,j)函数创建的对象范围 i到j-1 如果起始省略则认为起始值为0 第三个参数为可选步进值

a = range(10);
b = range(1,6);
c = range(0,10,2)

输出结果

0,1,2,3,4,5,6,7,8,9

1,2,3,4,5

0,2,4,6,8 #步进值

如果你使用的是python3.0以下版本 可尝试使用xrange()方法 python3.0之后更名为range()

range方法在PHP中也存在用法和python中类似

2 迭代字符串

a  = "Hello World" 
for c in a :
 print(c); #打印出字符串中的所有字符

3,迭代元组

name = (‘小旋风柴进‘,‘美髯公朱仝‘,‘行者武松‘,‘混江龙李俊‘);
for nm in name:
 print(nm);

输出结果:
小旋风柴进
美髯公朱仝
行者武松
混江龙李俊

4,迭代字典

data = {
 ‘name‘ : ‘张三‘,
 ‘age‘ : 18,
 ‘addr‘ :‘北京‘,
 ‘price‘ :1800
}

输出结果:
name 张三
age 18
price 1800
addr 北京

5,迭代文件所有行

f = open(‘e:/work.txt‘);
for line  in f:
 print(line); #循环输出文件中所有行

输出结果:
‘tom‘,120,132
‘jon‘,234,255
‘jeck‘,123,678

php中的循环迭代:

1,for循环

for($i=0;$i<=10;$i++){
 echo $i . ‘,‘;
}

解释:$i=0  循环开始值; $i<=10 每次循环开始前求值如果为真则继续 为假则停止 ,可以理解为循环的范围;$++ 每次循环之后执行加1,可理解为循环次数+1

输出结果:

0,1,2,3,4,5,6,7,8,9,10

也可用于循环字符串:

$str = ‘Hello world‘;
for($i=0;$i<strlen($str);$i++){
 echo $str[$i].‘,‘;
}

解释:strlen是php中字符串方法中用于获取字符串长度的方法

输出结果:

 H,e,l,l,o, ,w,o,r,l,d

2,foreach循环:php中没有元组和列表以及字典的概念但是有数组的概念 foreach语句就是用来循环遍历数组的

1,索引数组:系统自动分配或者手动添加的数字索引

$arr = array(1,2,3,4,5,6,7);

$value = 0;

foreach($arr as $v){

 $value += $v;

}
echo $value;

输出结果:

28

$arr = array("one",‘two‘,‘three‘);

foreach($arr as $k=>$v){

 echo ‘key:‘.$k .‘value:‘.$v.‘<br/>‘;

}

输出结果:
key:0value:one
key:1value:two
key:2value:three

2关联数组:使用自定义的键

$arr = array(‘name‘=>‘张三‘,‘age‘=>18,‘addr‘=>‘北京‘);

foreach($arr as $k=>$v){

 echo $k.‘=‘.$v.‘,‘;

}

输出结果:
name=张三,age=18,addr=北京

 总结:

  1,本节讲述了python当中迭代最常用的方法是for...in... 循环

 2,for...in 迭代 用于循环打印列表、元组、字典、文字中的数据

   3,和PHP中的for循环语句以及foreach循环语句进行对比

时间: 2024-10-09 21:06:11

python中的迭代与循环的相关文章

Python中的判断、循环 if...else,while

if...else语句: a=3; b=3; if a == b :print(a,b)elif a <= b :print(str(a) + " is less than " + str(b))else :print(str(a) + " is greater than " + str(b)) ################################### n = 3if (n >= 0 and n <= 8) or (n >= 1

python中的迭代、生成器等等

本人对编程语言实在是一窍不通啊...今天看了廖雪峰老师的关于迭代,迭代器,生成器,递归等等,word天,这都什么跟什么啊... 1.关于迭代 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)(Iteration的中文意思就是:反复.重复.迭代等).而这些for循环所遍历的对象(list or tuple 等)成为可迭代对象(Iterable). 也就是说"迭代"就是一个动作或者过程,可以把list或tup

python中的迭代

#迭代Python的for循环不仅可以用在list或tuple上,还可以作用在其他可迭代对象上. #list这种数据类型虽然有下标,但很多其他数据类型是没有下标的,但是,只要是可迭代对象,无论有无下标,都可以迭代,比如dict就可以迭代: d = {'a':1, 'b':2, 'c':3} for key in d: print(key) #因为dict的存储不是按照list的方式顺序排列,所以,迭代出的结果顺序很可能不一样. #默认情况下,dict迭代的是key.如果要迭代value,可以用f

Python学习-40.Python中的迭代

在上一篇中,我们使用了生成器来创建了一个可遍历的对象.在其中,我们使用了yield关键字. Python我也正在学习中,因此对yield的本质我并不熟悉,但是,在C#中,yield关键字则是语法糖,其内部维护着一个迭代状态(对于C#里的Array,这是当前遍历的元素下标). 那么,在Python中,是否也是一种语法糖了?首先,我们知道,生成器产生的是一个对象,并且这个对象能够被遍历,参考C#,在C#中可foreach的对象都有GetEnumerator方法.那么,Python中很有可以也是具备某

python中for、while循环、if嵌套的使用

1.for循环字符串就是一个有序的字符序列for i in range(5):     print(i)定义一个死循环while True:     pass2.break和continue肯定需要和循环配合使用 while-break/for-break在一个循环中如果某个条件成立后 执行了break 那么这个循环将停止(跳出循环)而且在break后面的代码将不再执行while-continue/for-break在一个循环中如果某个条件成立后 执行了continue 那么提前结束本次勋魂 而

python中的迭代解析有点map(function,list)函数的意思

迭代解析,就是利用迭代协议将列表(当然不仅仅是列表,也可以是文件对象或者词典等等,这里用列表a来处理)中的item取出来(for x in a)在表达式x+10中进行同样的处理: 而map函数也是将列表中的item取出来进行function的处理,当然这个不是利用迭代协议,而是利用的map的思想.MapReduce思想,很厉害的. 列表解析有个过滤用的if还是很棒的.还有两个for循环也是很不错的

python中如何跳出多层循环

像c语言中的goto,shell中的break 后面跟跳出层次的在方法在python中都没有,这可不是因为python设计的low,而是允许一次性跳出多个循环很容易造成程序流程的混乱,使理解和调试程序都产生困难,这也是为什么goto在c语言中不建议使用的原因. #_*_ coding:utf-8 _*_ loop1 = 0 #设定loop1 and loop2这两个计数器 loop2 = 0 while True: loop1 +=1 print "Loop1:", loop1 bre

记录今天学习python中for与while循环针对break和continue的用法

python中有两个主要的循环for与while,其中针对这两个循环有两种不同的中断用法break与continue. 首先先看下面的循环代码: 1: 1 for i in range(10):#变量i带入for循环,通过rang()函数进行0到10的循环 2 if i==7:#插入条件语句if..continue,当i==7时,进入条件进行判断 由于continue的作用退出当前循环,不执行下面的print(i)(这个是关键) 3 continue 4 print(i)#打印i 上面这个循环打

python中对列表和循环使用的小练习

#author devilf product_list = [ ('iphone',5800), ('Mac Pro',9800), ('Bike',800), ('Watch',10000), ('Coffee',123) ] shop_list = [] salary = input('pls enter your salary: ') if salary.isdigit(): #判断是否为整形,否则会退出 salary = int(salary) while True: for index