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

本文详细介绍了Python如何遍历数组,包括使用enumerate()函数获取索引和值,处理文件时的行号定位,以及在处理元组序列时的注意事项。示例代码展示了遍历列表的同时获取元素索引的方法,帮助理解Python遍历列表的高效方式。
摘要由CSDN通过智能技术生成

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的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值