python遍历实例总结

python同时遍历数组的索引和值的实例

你想在迭代一个序列的同时跟踪正在被处理的元素索引。

获取索引

内置的 enumerate() 函数可以很好的解决这个问题:

>>> my_list = ['a', 'b', 'c']

>>> for idx, val in enumerate(my_list):

... print(idx, val)

...

0 a

1 b

2 c

行号从1开始

为了按传统行号输出(行号从1开始),你可以传递一个开始参数:

>>> my_list = ['a', 'b', 'c']

>>> for idx, val in enumerate(my_list, 1):

... print(idx, val)

...

1 a

2 b

3 c

行号定位

这种情况在你遍历文件时想在错误消息中使用行号定位时候非常有用:

def parse_data(filename):

with open(filename, 'rt') as f:

for lineno, line in enumerate(f, 1):

fields = line.split()

try:

count = int(fields[1])

...

except ValueError as e:

print('Line {}: Parse error: {}'.format(lineno, e))

enumerate() 对于跟踪某些值在列表中出现的位置是很有用的。 所以,如果你想将一个文件中出现的单词映射到它出现的行号上去,可以很容易的利用 enumerate() 来完成:

word_summary = defaultdict(list)

with open('myfile.txt', 'r') as f:

lines = f.readlines()

for idx, line in enumerate(lines):

# Create a list of words in current line

words = [w.strip().lower() for w in line.split()]

for word in words:

word_summary[word].append(idx)

如果你处理完文件后打印 word_summary ,会发现它是一个字典(准确来讲是一个 defaultdict ), 对于每个单词有一个 key ,每个 key 对应的值是一个由这个单词出现的行号组成的列表。 如果某个单词在一行中出现过两次,那么这个行号也会出现两次, 同时也可以作为文本的一个简单统计。

计数变量

当你想额外定义一个计数变量的时候,使用 enumerate() 函数会更加简单。你可能会像下面这样写代码:

lineno = 1

for line in f:

# Process line

...

lineno += 1

但是如果使用 enumerate() 函数来代替就显得更加优雅了:

for lineno, line in enumerate(f):

# Process line

...

enumerate() 函数返回的是一个 enumerate 对象实例, 它是一个迭代器,返回连续的包含一个计数和一个值的元组, 元组中的值通过在传入序列上调用 next() 返回。

陷阱

还有一点可能并不很重要,但是也值得注意, 有时候当你在一个已经解压后的元组序列上使用 enumerate() 函数时很容易调入陷阱。 你得像下面正确的方式这样写:

data = [ (1, 2), (3, 4), (5, 6), (7, 8) ]

# Correct!

for n, (x, y) in enumerate(data):

...

# Error!

for n, x, y in enumerate(data):

...

参考:

python通过索引遍历列表的方法

Python推荐资源:

Python编程基础

本文实例讲述了python通过索引遍历列表的方法。分享给大家供大家参考。具体如下:

python中我们可以通过for循环来遍历列表:

colours = ["red","green","blue"]

for colour in colours:

print colour

如果希望遍历列表的同时得到元素的索引号,可以使用下面的代码:

colours = ["red","green","blue"]

for i, colour in enumerate(colours):

print i, colour

希望本文所述对大家的Python程序设计有所帮助。

Python实现带下标索引的遍历操作示例

Python推荐资源:

Python高级编程

本文实例讲述了Python实现带下标索引的遍历操作。分享给大家供大家参考,具体如下:

代码如下:

#coding=utf-8

#python - 实现带下标索引的遍历.

str = 'abcdefghigklmn'

#方式一:for

i = 0

for ch in str:

print('%d\t%s'%(i,ch))

i+=1

print('-'*50)

#方式二:enumerate()

for i,ch in enumerate(str):

print i,ch

运行结果:

0   a

1   b

2   c

3   d

4   e

5   f

6   g

7   h

8   i

9   g

10  k

11  l

12  m

13  n

--------------------------------------------------

0 a

1 b

2 c

3 d

4 e

5 f

6 g

7 h

8 i

9 g

10 k

11 l

12 m

13 n

希望本文所述对大家Python程序设计有所帮助。

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

python数组遍历输出所有组合_python遍历列表和数组实例讲解相关推荐

  1. python求一元二次方程的解法_python进行二次方程式计算的实例讲解

    算法,是一种执行步骤,如果我们想要要做一件事情,就会规划好行动步骤.而算法,就是我们所编程序的执行步骤.算法在编程使用过程中至关重要.二次方程式大家很熟悉,是一种整式方程,其未知项的最高次数是2.根的 ...

  2. python中数据维度的含义_python中那些对数组维度处理的奇技淫巧

    python作为数据科学中最受欢迎的编程语言,它的优势就在于对数据的转换,还可以灵活的处理多维数据.下面我们就来看看各种包里边的那些对数据维度操作的函数. 不放官网解释,以通俗语言来解释,先写再整理. ...

  3. 树(二叉树层次遍历输出及二叉树前序遍历输入)

    前两篇解释了二叉树的有关逻辑概念及前中后序输出递归代码的实现,这篇将讲述二叉树层次遍历输出如何实现以及二叉树前序遍历输入的两种情况. 定义结构体 struct BiNode{char data;BiN ...

  4. python右对齐输出乘法表_Python实现不同格式打印九九乘法表

    前言:最近在学习Python,学习资源有慕课网上的视频教程.菜鸟教程以及Python官方文档tutorial.虽然了解了Python的基本语法,但是还没有真正意义上输出自己写的代码.代码小白,之前仅学 ...

  5. python的empty函数_python中numpy.empty()函数实例讲解

    在使用python编程的过程中,想要快速的创建ndarray数组,可以使用numpy.empty()函数.numpy.empty()函数所创建的数组内所有元素均为空,没有实际意义,所以它也是创建数组最 ...

  6. python将list转为矩阵_python list转矩阵的实例讲解

    python list转矩阵的实例讲解 如下所示: #list转矩阵,矩阵列合并 x = [[1.2,2.2,1.4],[1.3,2.4,2.1],[1,1,0]] #表示有三个点,第一个点为(1,2 ...

  7. python链表的创建_python数据结构之链表的实例讲解

    在程序中,经常需要将组(通常是同为某个类型的)数据元素作为整体 管理和使,需要创建这种元素组,变量记录它们,传进传出函数等. 组数据中包含的元素个数可能发变化(可以增加或删除元素). 对于这种需求,最 ...

  8. python链表值讲解_python数据结构之链表的实例讲解

    在程序中,经常需要将⼀组(通常是同为某个类型的)数据元素作为整体 管理和使⽤,需要创建这种元素组,⽤变量记录它们,传进传出函数等. ⼀组数据中包含的元素个数可能发⽣变化(可以增加或删除元素). 对于这 ...

  9. 用python如何制作表格步骤_Python中用xlwt制作表格实例讲解

    在Python中,我们也可以用xlwt来制作excel表格,是不是很神奇,接下来一起学习吧. 举例: ```python import xlwt wb = xlwt.Workbook(encoding ...

最新文章

  1. vue.js+vscode+visual studio在windows下搭建开发环境
  2. 《看门狗》真人版跑酷!
  3. [iOS] photoKit获取所有照片
  4. 对KVC和KVO的理解
  5. eclipse debug 工程源码时出现source not found问题解决
  6. Jetty 与 Tomcat
  7. HALCON不同图像格式保存时间对比表
  8. java 箭头函数_箭头函数丶Java教程网-IT开发者们的技术天堂
  9. win11错误代码0xc1900101怎么解决 windows11错误代码0xc1900101的解决方法
  10. 卷积神经网络CNN的由来,为什么要用卷积?
  11. Oxygen XML Editor Professional文档的强大工具
  12. 联想硬盘保护系统 计算机名 后缀,联想硬盘保护7.07.6安装及计算机名相同的解决方法...
  13. 不用邀请照样申请Gmail免费邮箱
  14. fluent6.3如何制作动画
  15. php汽车租赁网站_ThinkPHP实战开发汽车租赁网站项目教程
  16. CentOS7 添加开机启动项
  17. 杭州java校园招聘_网易校园招聘杭州Java笔试题
  18. Kotlin 协程探索
  19. 小程序之简单登录注册表单验证
  20. CPU硬件辅助虚拟化技术

热门文章

  1. matlab打开笔记本摄像头_如何解决笔记本电脑摄像头异常问题
  2. 链表(单链表、双链表、内核链表)
  3. uboot源码——命令体系
  4. easyexcel 填充模板 格式变了_Qamp;A | 如何制作规范的电子合同模板?
  5. 牛客提高R5 A.同余方程
  6. Linux用户、用户组、文件权限设置
  7. MongoDB的Java驱动使用整理 (转)
  8. Eclipse自动补全功能轻松设置 || 不需要修改编辑任何文件
  9. 来了就不会空着手回去.
  10. Atmospheric Scattering