データベースクエリから生成されたタプルを含むリストがあり、次のようになります。
[(item1, value1), (item2, value2), (item3, value3),...]
タプルは長さが混在し、出力を印刷すると次のようになります。
item1=value1, item2=value2, item3=value3,...
私は解決策を見つけようとしばらく探しましたが、.join()
この種の状況では解決策が見つかりませんでした。
各タプルが(item, value)
ペアのみの場合、これは機能するはずです:
l = [(item1, value1), (item2, value2), (item3, value3), ...]
', '.join('='.join(t) for t in l)
'item1=value1, item2=value2, item3=value3, ...'
これを試して:
lst = [('item1', 'value1'), ('item2', 'value2'), ('item3', 'value3')]
print ', '.join(str(x) + '=' + str(y) for x, y in lst)
アイテムと値を明示的に文字列に変換しています。一方 (または両方) が既に文字列である場合は、対応するstr()
変換を削除できます。
print ', '.join(x + '=' + y for x, y in lst)
考えられる解決策の1つはこれです。間違いなく最短のコードです
>>> a = [('val', 1), ('val2', 2), ('val3', 3)]
>>>', '.join('%s=%s' % v for v in a)
'val=1, val2=2, val3=3'
Python 2.7 でも動作します