Python格式化列表列表

时间:2014-10-19 00:27:02

标签: python for-loop printing

def print_game(Guesses, Clues):
    """(list,list) -> display
    Print to display headers, Guess and Clue,
    with the corresponding sublists of the given lists
    >>>print_game(guesses,clues)
    Guesses     Clues
    o o o o     b
    r r r r     b b
    """
    print("Guesses \t Clues")
    for i in range((len(Guesses))):
        print (Guesses[i], end=" ")
    print ("\t", end=" ") 
    for i in range(len(Clues)):
        print (Clues[i], end= " ")

我需要这个函数来生成两列Guesses和Clues,这些列将作为更新时要打印的列表列表

1 个答案:

答案 0 :(得分:0)

压缩列表,以便您可以成对处理元素:

print("Guesses", "Clues", sep='\t')
for guess, clue in zip(Guesses, Clues):
    print(' '.join(guess), ' '.join(clue), sep='\t')

使用str.join()方法将各个子列表合并为一个字符串。

演示:

>>> guesses = [['o', 'o', 'o', 'o'], ['r', 'r', 'r', 'r']]
>>> clues = [['b'], ['b', 'b']]
>>> def print_game(Guesses, Clues):
...     print("Guesses", "Clues", sep='\t')
...     for guess, clue in zip(Guesses, Clues):
...         print(' '.join(guess), ' '.join(clue), sep='\t')
... 
>>> print_game(guesses, clues)
Guesses Clues
o o o o b
r r r r b b

考虑到Guesses子列表中的值的数量,您可能希望在选项卡上加倍。