str.join如何在python中工作

时间:2015-08-28 15:20:12

标签: python list join

例如为什么在代码中,加入函数,加入电路板列表的第一列?

board=[] # is a list

for i in range(5): # number of rows in the list
    board.append(['O']*5)
    print board

[['O', 'O', 'O', 'O', 'O']]
[['O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O']]
[['O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O']]
[['O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O']]
[['O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O']]

def print_board(board):
    for row in board:
        print " ".join(row)
print print_board(board)

O O O O O
O O O O O
O O O O O
O O O O O
O O O O O

1 个答案:

答案 0 :(得分:2)

在这部分代码中:

for i in range(5):
    board.append(['O']*5)
    print board

您只需在board列表中添加5个内容为5 0的列表。

在另一部分:

def print_board(board):
    for row in board:
        print " ".join(row)
print print_board(board)

您要逐行打印board列表的元素,但会将其string转换为join

join返回一个字符串,该字符串是您作为参数传递的iterable中字符串的串联。元素之间的分隔符是提供此方法的字符串。

在您的情况下," ".join(row)意味着:

  

返回行列表,其中所有元素都由空格分开。

当你做print " ".join(row)时,你会说:

  

打印行列表,其中所有元素都由空格分开。

相关问题