Python使用字符串格式运算符打印两个列表

时间:2019-03-21 23:04:50

标签: python

我该如何编写python scrip来解决这个问题?

l=[1,2,3] Length A
X=[one,two,three,.... ] length A

如何打印/写入文件 输出应为

1=one 2=two 3=three .... 

尝试使用类似的方法,但是由于长度A是可变的,因此无法使用

logfile.write('%d=%s %d=%s %d=%s %d=%s \n' % (l[1], X[1],l[2,X[3],l[4],X[4]))

3 个答案:

答案 0 :(得分:2)

使用zip

l = [1, 2, 3]
X = ['one', 'two', 'three']
' '.join('{}={}'.format(first, second) for first, second in zip(l, X))

输出:

'1=one 2=two 3=three'

答案 1 :(得分:0)

您还可以使用fString使其更简洁:

numbers = [1, 2, 3]
strings = ['one', 'two', 'three']
print(' '.join(f'{n}={s}' for n,s in zip(numbers,strings)))

答案 2 :(得分:0)

  • zip(a,b)将从两个列表中返回配对,直到较短的列表结束
  • map(f,a)将函数f应用于列表a中的每个元素。
  • join是连接字符串的python方法

全部合并:

print(''.join(map('{}={}'.format, zip(l, X))))
print(''.join(map('='.join, zip(map(str,l), X))))

由于join仅适用于字符串,因此map(str,l)将[1、2 ...]转换为['1','2',..]

格式适用于任何输入,因此不需要额外的转换