for,range,enumerate

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了for,range,enumerate相关的知识,希望对你有一定的参考价值。

for循环:用户按照顺序循环可迭代对象的内容

 

msg = 老男孩python是全国范围内最好的python培训机构
for item in msg:
    print(item)

li = [alex,银角,女神,egon,太白]
for i in li:
    print(i)

dic = {name:太白,age:18,sex:man}
for k,v in dic.items():
    print(k,v)


输出:
老
男
孩
p
y
t
h
o
n
是
全
国
范
围
内
最
好
的
p
y
t
h
o
n
培
训
机
构

alex 银角 女神 egon 太白


name 太白 age
18 sex man

enumerate:枚举,对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值。

li = [alex,银角,女神,egon,太白]
for i in enumerate(li):
    print(i)
for index,name in enumerate(li,1):
    print(index,name)
for index, name in enumerate(li, 100):  # 起始位置默认是0,可更改
    print(index, name)


输出:
(0, alex)
(1, 银角)
(2, 女神)
(3, egon)
(4, 太白)
1 alex 2 银角 3 女神 4 egon 5 太白
100 alex 101 银角 102 女神 103 egon 104 太白

 

range:指定范围,生成指定数字。

for i in range(1,10):
    print(i)

for i in range(1,10,2):  # 步长
    print(i)

for i in range(10,1,-2): # 反向步长
    print(i)

 应用:

输出列表内的所有元素:

li = [1,2,a,4,[1,2,太白,alex],2]
#range,len
for i in range(0,len(li)):
    if i == 4:  # type(li[i]) == list
        for j in li[i]:  # [1,2,‘太白‘,‘alex‘]
            print(j)
    else:
        print(li[i])

 

以上是关于for,range,enumerate的主要内容,如果未能解决你的问题,请参考以下文章

enumerate 函数

python基础数据类型之字典dict和集合set及其他(for,enumerate,range)。

使用 Enumerable.Range() 填充字典的问题

从 Enumerable.Range 或 List<int> 填充 List<dynamic>

为啥 Enumerable.Range 比直接 yield 循环快?

for XX in XX结构