当前位置:主页 > python教程 > python遍历实例总结

python遍历列表和数组实例讲解

发布:2019-05-31 10:58:04 22


给寻找编程代码教程的朋友们精选了相关的编程文章,网友越睿才根据主题投稿了本篇教程内容,涉及到python、遍历、列表、数组、python遍历实例总结相关内容,已被808网友关注,涉猎到的知识点内容可以在下方电子书获得。

python遍历实例总结

538

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):
 ...

参考:

https://docs.python.org/2/library/functions.html

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

488

本文实例讲述了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实现带下标索引的遍历操作示例

279

本文实例讲述了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程序设计有所帮助。


参考资料

相关文章

  • Python3列表内置方法实例讲解

    发布:2021-06-10

    这篇文章主要介绍了Python3列表内置方法大全及示例代码小结,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下


  • python怎么解压rar文件

    发布:2021-05-06

    Python要解压rar类型压缩文件需要安装rarfile包,在网上下载包然后解压到Python安装文件夹下的scripts文件夹下,在当前目录下打开cmd输入命令安装即可,然后就可以在Python中解压rar文件了。


  • python中none的含义和用法

    发布:2020-04-12

    Python中的None是一个特殊常量,不是0,也不是False,不是空字符串,None表示更多的是一种不存在,是真正的空。


  • python装饰器实现对异常代码出现进行自动监控的实现方法

    发布:2021-04-15

    这篇文章主要介绍了python装饰器实现对异常代码出现进行自动监控的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下


  • python抽样方法解读及实现过程

    发布:2023-04-23

    这篇文章主要介绍了python抽样方法解读及实现过程讲解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教


  • Python input()函数案例教程

    发布:2023-03-04

    在 Python 中,input() 函数用于获取用于的输入,并给出提示。input() 函数,总是返回 string 类型,因此,我们可以使用 input() 函数,获取用户输入的任何数据类型 ,这篇文章主要介绍了Python input()函数案例详解,需要的朋友可以参考下


  • 2种修改python字典内的值方法总结

    发布:2020-07-21

    讲述了如何修改python字典内的值


  • 使用Python创建websocket服务端并给出不同客户端的请求

    发布:2023-03-08

    本文主要介绍了使用Python创建websocket服务端并给出不同客户端的请求,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


网友讨论