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

Python使用字符串格式运算符打印两个列表,python,Python,如何编写python scrip来解决这个问题 l=[1,2,3] Length A X=[one,two,three,.... ] length A 如何打印/写入文件 输出应该是 1=one 2=two 3=three .... 尝试使用类似的东西,但由于长度是可变的,所以这将不起作用 logfile.write('%d=%s %d=%s %d=%s %d=%s \n' % (l[1], X[1],l[2,X[3],l[4],X[4])) 使用zip: l = [1, 2, 3] X

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

l=[1,2,3] Length A
X=[one,two,three,.... ] length A
如何打印/写入文件 输出应该是

1=one 2=two 3=three .... 
尝试使用类似的东西,但由于长度是可变的,所以这将不起作用

logfile.write('%d=%s %d=%s %d=%s %d=%s \n' % (l[1], X[1],l[2,X[3],l[4],X[4]))
使用
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'
使用
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'

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

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

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

numbers = [1, 2, 3]
strings = ['one', 'two', 'three']
print(' '.join(f'{n}={s}' for n,s in zip(numbers,strings)))
  • 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',…]

格式适用于任何输入,因此不需要额外转换
  • 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',…]

    格式对任何输入都有效,因此不需要额外的转换