6

データベースクエリから生成されたタプルを含むリストがあり、次のようになります。

[(item1, value1), (item2, value2), (item3, value3),...]

タプルは長さが混在し、出力を印刷すると次のようになります。

item1=value1, item2=value2, item3=value3,...

私は解決策を見つけようとしばらく探しましたが、.join()この種の状況では解決策が見つかりませんでした。

4

6 に答える 6

3

各タプルが(item, value)ペアのみの場合、これは機能するはずです:

l = [(item1, value1), (item2, value2), (item3, value3), ...]
', '.join('='.join(t) for t in l)
'item1=value1, item2=value2, item3=value3, ...'
于 2013-08-20T20:00:13.397 に答える
1

これを試して:

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)
于 2013-08-20T20:00:42.780 に答える
1

考えられる解決策の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 でも動作します

于 2017-08-16T11:40:12.570 に答える