1

次のようなリストがあります。

la = [3, 7, 8, 9, 50, 100]

リストを文字列に変換し、次のようにパーセンテージを追加しようとしています:

3%, 7%, 8% and lastly 100%

私はこのようにやっています:

str1 = '%, '.join(str(e) for e in sorted_list) 

最終的にパーセンテージがない、つまり 100 しかないことを除いて、正しいことを行いますが、100% が必要です。これどうやってするの?ありがとう

4

5 に答える 5

5
', '.join('%d%%' % (x,) for x in la)
于 2012-12-18T04:21:18.147 に答える
2

うん、本来あるべきことを正確に行っている:各要素の間に' %, ' を置く。単純にどうですか...

str1 = '%, '.join(str(e) for e in sorted_list) + '%'

sorted_list空になる可能性がある場合は、そのケースを処理する必要があります)

于 2012-12-18T04:26:41.113 に答える
1
la = [3, 7, 8, 9, 50, 100]
(lambda k: ' and lastly '.join([', '.join(k[:-1]), k[-1]]))(["%s%%" % a for a in la])
# '3%, 7%, 8%, 9%, 50% and lastly 100%'

編集:小さな添え字の間違い(そして、Rohit Jainが言うように...:D)

于 2012-12-18T04:24:53.140 に答える
1

あなたのこれ:

print map(lambda n: str(n) + '%', [3, 7, 8, 9, 50, 100])

これにより、パーセントで文字列に変換されたすべてのリストが作成されます。

それでも文字列が必要な場合は、次のように少し変更できます。

str1 = ', '.join(map(lambda n: str(n) + '%', [3, 7, 8, 9, 50, 100]))
于 2012-12-18T04:19:49.657 に答える
0
python 3.2
str1 = ','.join(str(e)+"%" for e in sorted_list)
于 2012-12-18T16:49:04.710 に答える