python – 如何遍历嵌套列表以将每个列表从1编号为5:
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 如何遍历嵌套列表以将每个列表从1编号为5:,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1647字,纯文字阅读大概需要3分钟。
内容图文
![python – 如何遍历嵌套列表以将每个列表从1编号为5:](/upload/InfoBanner/zyjiaocheng/722/665e8b1277bb45729cbd4a9b00bbadb5.jpg)
所以我正在制作一个分配游戏,我需要制作一个函数,它接受一个代表游戏板的嵌套列表,每行从1到5的数字(对于坐标,例如F4,G3等).
比如说代表董事会的列表如下所示:
board = [['S', 'S', 'X', 'S', 'S'],
['.', '.', '.', '.', '.'],
['.', '.', 'T', '.', '.'],
['.', '.', '.', '.', '.'],
['S', 'S', 'Y', 'S', 'S']]
我需要在每个列表的第一个位置添加一个数字,这样我得到的内容如下所示:
board = [[1, 'S', 'S', 'X', 'S', 'S'],
[2, '.', '.', '.', '.', '.'],
[3, '.', '.', 'T', '.', '.'],
[4, '.', '.', '.', '.', '.'],
[5, 'S', 'S', 'Y', 'S', 'S']]
并显示如下:
1 S S X S S
2 . . . . .
3 . . T . .
4 . . . . .
5 S S Y S S
我目前的做法是这样的:
def display_board(board):
bottomLetters = [" ", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K"]
print board
counter = int(0)
for row in board:
counter += int(1)
row.insert(0, counter)
for positon in row:
print positon,
print
这几乎可以工作,但我得到一个奇怪的输出:
1 S S X S S
2 . . . . .
3 . . T . .
4 2 . . . . .
5 S S Y S S
或者只是游戏板列表本身:
board = [[1, 'S', 'S', 'X', 'S', 'S'],
[4, 2, '.', '.', '.', '.', '.'],
[3, '.', '.', 'T', '.', '.'],
[4, 2, '.', '.', '.', '.', '.'],
[5, 'S', 'S', 'Y', 'S', 'S']]
任何人都知道为什么会这样吗?
解决方法:
不是一个真正的答案 – 但有点建议.
您不需要int(0)就可以使用0.此外,Python已经提供了一个内置方法来“枚举”名为enumerate的序列中的项目.另请参阅str.join方法,以使格式化文本更易于打印.
使用上面的代码,您可以将代码缩减为:
board = [['S', 'S', 'X', 'S', 'S'],
['.', '.', '.', '.', '.'],
['.', '.', 'T', '.', '.'],
['.', '.', '.', '.', '.'],
['S', 'S', 'Y', 'S', 'S']]
def display_board(board):
for rowno, items in enumerate(board, start=1):
print rowno, ' '.join(items)
display_board(board)
这不仅更像Pythonic,而且更清晰.
内容总结
以上是互联网集市为您收集整理的python – 如何遍历嵌套列表以将每个列表从1编号为5:全部内容,希望文章能够帮你解决python – 如何遍历嵌套列表以将每个列表从1编号为5:所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。