在本文中,您将会了解到关于python中for循环中使用range、len、enumerate函数的操作实例的新资讯,同时我们还将为您解释pythonfor循环中的range怎么用的相关在本文中,我们
在本文中,您将会了解到关于python中for循环中使用range、len、enumerate函数的操作实例的新资讯,同时我们还将为您解释python for 循环中的range怎么用的相关在本文中,我们将带你探索python中for循环中使用range、len、enumerate函数的操作实例的奥秘,分析python for 循环中的range怎么用的特点,并给出一些关于#抬抬小手学Python# Python 之内置函数:filter、map、reduce、zip、enumerate、for循环&len函数和range函数的运用、python enumerate() 函数的使用方法、Python enumerate函数的实用技巧。
本文目录一览:- python中for循环中使用range、len、enumerate函数的操作实例(python for 循环中的range怎么用)
- #抬抬小手学Python# Python 之内置函数:filter、map、reduce、zip、enumerate
- for循环&len函数和range函数的运用
- python enumerate() 函数的使用方法
- Python enumerate函数
python中for循环中使用range、len、enumerate函数的操作实例(python for 循环中的range怎么用)
#coding=utf8
print ''''''
Python中的for循环更像shell脚本里的foreach迭代。
Python中的for接受可迭代对象作为其参数,每次迭代其中一个元素。
Python中的print语句会默认给每一行添加一个换行符。
只要在print语句的最后添加一个逗号(,)就可以在同一行显示。
如果代码中出现一个不带有任何参数的print的语句,它用来输出一个换行符。
''''''
fruits=["apple","orange","pear","banana","peach","watermelon"]
print "I like eating some fruits,such as:",
for fruit in fruits:
print fruit,
#用于换行
#print
print ''''''
python中的range函数:返回一系列连续增加的整数。
它接受一个数值范围生成一个列表。
''''''
rangeList=range(5)
print "the list of range(5) is:",rangeList
for item in rangeList:
print " element of rangList:",item
print
#对字符串使用for语句,输出每个字符
string="ewang"
for char in string:
print "the char of string:",char
print ''''''
range()函数与len()一起用于字符串索引。
显示字符串中每个字符及其索引值。
''''''
for index in range(len(string)):
print "the char and index of string:",string[index],"(%d)" %index
print ''''''
python中的enumerate 函数用于遍历序列中的元素以及它们的下标。
enumerate 能同时循环索引和元素:索引在前、元素在后
''''''
for index,char in enumerate(string):
print "the char and index of string by enumerate function:",char,"(%d)" %index
#抬抬小手学Python# Python 之内置函数:filter、map、reduce、zip、enumerate
filter、map、reduce、zip、enumerate
这几个函数在 Python 里面被称为高阶函数,本文主要学习它们的用法。
filter
filter 函数原型如下:
filter(function or None, iterable) --> filter object
第一个参数是判断函数(返回结果需要是 True 或者 False),第二个为序列,该函数将对 iterable
序列依次执行 function(item)
操作,返回结果是过滤之后结果组成的序列。
简单记忆:对序列中的元素进行筛选,获取符合条件的序列。
my_list = [1, 2, 3]
my_new_list = filter(lambda x: x > 2, my_list)
print(my_new_list)
返回结果为:<filter object at 0x0000000001DC4F98>
,使用 list
函数可以输入序列内容。
map
map 函数原型如下:
map(func, *iterables) --> map object
该函数运行之后生成一个 list,第一个参数是函数、第二个参数是一个或多个序列;
下述代码是一个简单的测试案例:
my_list = [-1,2,-3]
my_new_list = map(abs,my_list)
print(my_new_list)
上述代码运行完毕,得到的结果是:<map object at 0x0000000002860390>
。使用 print(list(my_new_list))
可以得到结果。
map
函数的第一个参数,可以有多个参数,当这种情况出现后,后面的第二个参数需要是多个序列。
def fun(x, y):
return x+y
# fun 函数有2个参数,故需要两个序列
my_new_list = map(fun, [1, 2, 3], [4, 4, 4])
print(my_new_list)
print(list(my_new_list))
map 函数解决的问题:
- 使用
map
函数,不需要创建一个空列表; - 调用函数的时候,不需要带括号了,
map
函数会自动调用目标函数; map
函数会自动匹配序列中的所有元素。
reduce
reduce 函数原型如下:
reduce(function, sequence[, initial]) -> value
第一个参数是函数,第二个参数是序列,返回计算结果之后的值。该函数价值在于滚动计算应用于列表中的连续值。
测试代码如下:
from functools import reduce
my_list = [1, 2, 3]
def add(x, y):
return x+y
my_new_list = reduce(add, my_list)
print(my_list)
print(my_new_list)
最终的结果是 6,如果设置第三个参数为 4,可以运行代码查看结果,最后得到的结论是,第三个参数表示初始值,即累加操作初始的数值。
my_new_list = reduce(add, my_list,4)
print(my_list)
print(my_new_list)
简单记忆:对序列内所有元素进行累计操作。
zip
zip 函数原型如下:
zip(iter1 [,iter2 [...]]) --> zip object
zip
函数将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一样,则返回列表长度与最短的对象相同,利用星号(*
)操作符,可以将元组解压为列表。
测试代码如下:
my_list1 = [1,2,3]
my_list2 = ["a","b","c"]
print(zip(my_list1,my_list2))
print(list(zip(my_list1,my_list2)))
展示如何利用 *
操作符:
my_list = [(1, ''a''), (2, ''b''), (3, ''c'')]
print(zip(*my_list))
print(list(zip(*my_list)))
输出结果如下:
<zip object at 0x0000000002844788>
[(1, 2, 3), (''a'', ''b'', ''c'')]
简单记忆:zip 的功能是映射多个容器的相似索引,可以方便用于来构造字典。
enumerate
enumerate 函数原型如下:
enumerate(iterable, start=0)
参数说明:
sequence
:一个序列、迭代器或其他支持迭代对象;start
:下标起始位置。
该函数用于将一个可遍历的数据对象组合为一个索引序列,同时列出数据和数据下标,一般用在 for
循环当中。
测试代码如下:
weekdays = [''Mon'', ''Tus'', ''Wen'', ''Thir'']
print(enumerate(weekdays))
print(list(enumerate(weekdays)))
返回结果为:<enumerate object at 0x0000000002803AB0>
。
这篇博客的总结
本文涉及的函数可以与 lambda 表达式进行结合,能大幅度提高编码效率。最好的学习资料永远是官方手册
for循环&len函数和range函数的运用
函数:len()
作用:返回字符串、列表、字典、元组等长度
语法:len(str)
参数:
str:要计算的字符串、列表、字典、元组等
返回值:字符串、列表、字典、元组等元素的长度
实例
1、计算字符串的长度:
>>> s = "hello word"
>>> len(s)
9
2、计算列表的元素个数:
>>> str= [''h'',''e'',''l'',''l'',''o'']
>>> len(str)
5
3、计算字典的总长度(即键值对总数):
>>> dict = {''num'':777,''name'':"anne"}
>>> len(dict)
2
5.4、计算元组元素个数:
>>> t = (''G'',''o'',''o'',''d'')
>>> len(t)
4
range()函数
range()是python内置函数它能返回一系列连续增加的整数,它的工作方式类似于分片,可以生成一个列表对象。
range函数大多数时常出现在for循环中,在for循环中可做为索引使用。其实它也可以出现在任何需要整数列表的环境中,
在python 3.0中range函数是一个迭代器。range()函数内只有一个参数,则表示会产生从0开始计数的整数列表:
实例:
>>> range(5)
[0, 1, 2, 3,4] #python 返回值
python range()中,当传入两个参数时,则将第一个参数做为起始位,第二个参数为结束位:
>>> range(0,6)
[0, 1, 2, 3, 4,5]
range()函数内可以填入三个参数,第三个参数是步进值(步进值默认为1):
>>> range(0,10,2)
[0, 2, 4, 6,8]
range函数的参数和结果也并非一定要是正数或是递增的,好比下面两个例子:
>>> range(-4,4)
[-4, -3, -2, -1, 0, 1, 2, 3]
>>>
>>> range(4,-4,-1)
[4, 3, 2, 1, 0, -1, -2, -3]
range()在for循环中的作用及技巧
range可以根据给定的次数,重复动作,来看一个range与for循环最简单的例子:
>>> x = ''playpython''
>>> for i in x:
... print i,
...
p l a y p y t h o n
>>> range(len(x))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> len(x)
10
>>> for i in range(len(x)):
... print x[i],
...
p l a y p y t h o n
>>>
for循环 支持continue和break
用 break
关键字终止当前循环就不会执行当前的 else
语句,而使用 continue
关键字快速进入下一论循环,或者没有使用其他关键字,循环的正常结束后,就会触发 else
语句
语法: for str in str:
例一:加入input,len
s = input(">>>")
for a in s:
print(a)
l = len(s)
print("字符长度为:",l)
例二:加入input,len,range
s = input(">>>") #若我输入qwe
for a in range(0,len(s)): #开区间为0到判断字符串对象得长度为3,循环字符串对象s当中的每个字符,迭代到对象a
print("字符长度为:",s[a],a) # 迭代的方式打印出字符串对象s当中的每一个a元素 ,迭代的方式打印出 len所计算字符串a的长度
>>>qwe
字符长度为: q 0
字符长度为: w 1
字符长度为: e 2
双层for循环
#乘法口诀表
for x in range(1,10): #最外层循环依次将数值1~9储存到变量x中
for y in range(1,10): #x每取一次值,内层循环就依次将1~9存入变量y中
#print(x,"X",y,"=",x*y)
print("{} X {} = {}".format(x,y,x*y)) #利用format方式打印会显得更专业些
python enumerate() 函数的使用方法
列表是最常用的Python数据类型,前段时间看书的时候,发现了enumerate() 函数非常实用,因为才知道下标可以这么容易的使用,总结一下。
class enumerate(object):
"""
Return an enumerate object.
iterable
an object supporting iteration
The enumerate object yields pairs containing a count (from start, which
defaults to zero) and a value yielded by the iterable argument.
这句是重点:
enumerate is useful for obtaining an indexed list:
(0, seq[0]), (1, seq[1]), (2, seq[2]), ...
"""
shope = [[''banana'',10],
[''apple'',5],
[''orange'',6],
[''watermelon'',3],
[''strawberry'',15]]
方法一:以元组形式取出所有元素
实际中不实用,可以忘记它
for i in enumerate(shope):
print(i)
结果:
(0, [''banana'', 10]) <class ''tuple''>
(1, [''apple'', 5])
(2, [''orange'', 6])
(3, [''watermelon'', 3])
(4, [''strawberry'', 15])
这里的二和三其实可以说是一种方式,这里为了显示效果,分开了
方法二:
for i in enumerate(shope):
print(i[0],i[1])
结果:
0 [''banana'', 10] i[1]:<class ''list''>
1 [''apple'', 5]
2 [''orange'', 6]
3 [''watermelon'', 3]
4 [''strawberry'', 15]
方法三:这里相当于把方法一里面的元组里的元素单独取出来再次使用
for i in enumerate(shope):
print(i[1][1])
结果
10
5
6
3
15
Python enumerate函数
功能:
enumerate()是python的内置函数,用于将一个可遍历的数据对象(如列表、元组或字符串等)组合为一个索引序列,同时列出数据和数据下标,多用于for循环
语法:
enumerate(a,start)
a是可迭代对象,start是计数起始数字
示例一:
1 li = ["a","b","c","d","e","f"]
2
3 for i in enumerate(li):
4 print(i)
结果:
(0, ''a'')
(1, ''b'')
(2, ''c'')
(3, ''d'')
(4, ''e'')
(5, ''f'')
示例二:
li = ["a","b","c","d","e","f"]
for i in enumerate(li,1):
print(i)
结果:
1 (1, ''a'')
2 (2, ''b'')
3 (3, ''c'')
4 (4, ''d'')
5 (5, ''e'')
6 (6, ''f'')
今天关于python中for循环中使用range、len、enumerate函数的操作实例和python for 循环中的range怎么用的介绍到此结束,谢谢您的阅读,有关#抬抬小手学Python# Python 之内置函数:filter、map、reduce、zip、enumerate、for循环&len函数和range函数的运用、python enumerate() 函数的使用方法、Python enumerate函数等更多相关知识的信息可以在本站进行查询。
本文标签: