【问题标题】:return list pair (print out) from 2 list of same length从 2 个相同长度的列表中返回列表对(打印输出)
【发布时间】:2020-05-10 11:59:24
【问题描述】:

我有 2 个列表(x 和 y),我想在 x、y 中输出(只是打印输出)。我可以知道怎么做吗?我是否需要一个循环来遍历 x 和 y 列表中的每个项目?

input :
x = [['A', 'B'], ['C', 'D'], ['F', 'G']]
y = [['L', 'M'], ['J', 'K'], ['O', 'P', 'Q']]

output :
x, y format
['A', 'B']   ['L', 'M']
['C', 'D']   ['J', 'K']
['F', 'G']   ['O', 'P', 'Q']

我得到的最接近如下:

for row in x:
    n = []
    for loop in y :
        for x in loop :
            n.append(x) 
        print(' '.join(row).strip().split()) , n

Output :
['A', 'B'] ['L', 'M']
['A', 'B'] ['L', 'M', 'J', 'K']
['A', 'B'] ['L', 'M', 'J', 'K', 'O', 'P', 'Q']
['C', 'D'] ['L', 'M']
['C', 'D'] ['L', 'M', 'J', 'K']
['C', 'D'] ['L', 'M', 'J', 'K', 'O', 'P', 'Q']
['F', 'G'] ['L', 'M']
['F', 'G'] ['L', 'M', 'J', 'K']
['F', 'G'] ['L', 'M', 'J', 'K', 'O', 'P', 'Q']

【问题讨论】:

    标签: python list dataframe tuples


    【解决方案1】:

    您可以使用zip 来制作列表元素的元组:

    list(zip(x, y))
    

    生产:

    [(['A', 'B'], ['L', 'M']),
     (['C', 'D'], ['J', 'K']),
     (['F', 'G'], ['O', 'P', 'Q'])]
    

    在本例中,结果列表的长度为 3。第一个元素是:

    >>> list(zip(x, y))[0]
    (['A', 'B'], ['L', 'M'])
    

    为了打印中间有空格的元组:

    for a, b in zip(x, y):
        print(f'{a} {b}')
    

    输出:

    ['A', 'B'] ['L', 'M']
    ['C', 'D'] ['J', 'K']
    ['F', 'G'] ['O', 'P', 'Q']
    

    【讨论】:

    • 嗨,我不认为我可以使用列表 zip,我想我会遇到与哈希相关的问题?对于我的后续脚本
    • zip 不需要散列。我的答案中的输出来自在您的确切输入示例上实际运行建议的代码。
    • 那么期望的输出到底是什么(作为 Python 对象)?该问题将输出显示为文本。不确定你真正需要什么。
    • 是的,第二个是 Python 元组,正如你所问的,而第一个只是一个字符串或打印输出。
    • 啊。所以要打印出元组,请参阅更新的答案。
    猜你喜欢
    • 1970-01-01
    • 2018-01-20
    • 2019-04-08
    • 1970-01-01
    • 2021-03-13
    • 2015-11-25
    • 1970-01-01
    • 2021-11-12
    • 2014-06-16
    相关资源
    最近更新 更多