さまざまなPythonオブジェクトのリストを1つの文字列に連結したいと考えています。オブジェクトは文字通り何でもかまいません。私は単純に次のコードを使用してこれを行うことが考えた:Pythonオブジェクトを文字列に変換する方法は?
' '.join([str(x) for x in the_list])
が、残念ながらそれは時々私にUnicodeEncodeErrorをを与える:
this SO answerでUnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 80: ordinal not in range(128)
私はそう、私は.encode('utf-8')
を使用する必要があると述べている誰かを見つけました
' '.join([x.encode('utf-8') for x in the_list])
しかし、オブジェクトは、文字列またはユニコードなく、例えばされていない場合:私はこれに私のコードを変更しました10秒私はAttributeError: 'int' object has no attribute 'encode'
を得る。つまり、どのような種類の型か、それをどのように変換するかを調べるために、何らかのif文を使用する必要があるということです。しかし、いつ.encode('utf-8')
を使用し、str()
をいつ使うべきですか?
私はこれについて何らかの種類のオンライナーをやることができればさらに良いだろうが、どうすればいいのだろうか?他の誰かが知っていますか?すべてのヒントは大歓迎です!
は「生産参照してください
@ user2357112 - 主にロギングの目的で使用されているため、それがどれくらい近いかはあまり関係ありません。 – kramer65
あなたのリストをとり、それを印刷してみませんか? – user2357112