Python 在print语句中标记元组变量

Python 在print语句中标记元组变量,python,printing,tuples,Python,Printing,Tuples,我的格式有点问题,希望你能帮我。基本上,我的程序会给我一个元组列表,我想在每行打印这些元组。这一部分很简单,但是为了可读性,我想在print语句中标记元组中的每个元素,如下所示: [(n=0, a=175, t=94, g=292, c=39), (n=0, a=90, t=33, g=166, c=248), (n=0, a=121, t=159, g=155, c=165)] 以下是我的代码的相关部分 my_results = zip(results_n, results_a, resul

我的格式有点问题,希望你能帮我。基本上,我的程序会给我一个元组列表,我想在每行打印这些元组。这一部分很简单,但是为了可读性,我想在print语句中标记元组中的每个元素,如下所示:

[(n=0, a=175, t=94, g=292, c=39),
(n=0, a=90, t=33, g=166, c=248),
(n=0, a=121, t=159, g=155, c=165)]
以下是我的代码的相关部分

my_results = zip(results_n, results_a, results_t, results_c, results_g)
#my_results returns a list of tuples

from pprint import pprint
#pprint(my_results, depth=5)
#returns [(0, 175, 94, 292, 39),
#(0, 90, 33, 166, 248),
#(0, 121, 159, 155, 165)]

toople = (0, 175, 94, 292, 39)
(n, a, t, g, c) = toople
#maybe unpacking the tuple will help in some way?

正如您所看到的,我唯一不知道怎么做的部分就是用额外的“n=”,“a=”。。。位。我该怎么做呢?

您可以使用字符串格式。
*
解压
结果中的每个元素
并将其作为一个单独的参数发送到
格式()
,该格式需要每个项目都有一个参数,而不是包含所有参数的
元组

for result in my_results:
    print('n={}, a={}, t={}, g={}, c={}'.format(*result))

可以使用字符串格式。
*
解压
结果中的每个元素
并将其作为一个单独的参数发送到
格式()
,该格式需要每个项目都有一个参数,而不是包含所有参数的
元组

for result in my_results:
    print('n={}, a={}, t={}, g={}, c={}'.format(*result))

功能性方法:

# data for testing
combos = [(0, 175, 94, 292, 39),
          (0, 90,  33, 166, 248),
          (0, 121, 159,155, 165)]
results_n, results_a, results_t, results_c, results_g = zip(*combos)

labels = 'n={}', 'a={}', 't={}', 'g={}', 'c={}'
my_results = '\n'.join((', '.join(f.format(v) for f, v in zip(labels, row))
        for row in zip(results_n, results_a, results_t, results_c, results_g)))
print(my_results)
输出:

n=0,a=175,t=94,g=292,c=39
n=0,a=90,t=33,g=166,c=248
n=0,a=121,t=159,g=155,c=165

执行此操作的功能方式:

# data for testing
combos = [(0, 175, 94, 292, 39),
          (0, 90,  33, 166, 248),
          (0, 121, 159,155, 165)]
results_n, results_a, results_t, results_c, results_g = zip(*combos)

labels = 'n={}', 'a={}', 't={}', 'g={}', 'c={}'
my_results = '\n'.join((', '.join(f.format(v) for f, v in zip(labels, row))
        for row in zip(results_n, results_a, results_t, results_c, results_g)))
print(my_results)
输出:

n=0,a=175,t=94,g=292,c=39
n=0,a=90,t=33,g=166,c=248
n=0,a=121,t=159,g=155,c=165