2017年3月28日火曜日

リストから文字列結合 【Python】

"".join(list)


非常に便利なjoinです。今まで使ったことがなかったのが不思議なぐらい

""の間に結合する文字を入れます。どういうことかというと例の通り

# ハイフン"-"で結合
moji =["py","tho","n"]
print ("-".join(moji)) #=> py-tho-n
# なにもなしで結合
moji =["py","tho","n"]
print ("".join(moji)) #=> python
view raw 03281 hosted with ❤ by GitHub



これでpython入門だったときに疑問だった文字列結合方法がクリアされました。

ちなみに入門のときはfor文とif文を使って頑張って結合していました

n = input()
nn = int(n)
a =[]
for i in range(nn):
a.append(input())
for i in range(nn):
print(a[i],end="")
if i < nn-1:
print(",", end="")
elif i == nn-1:
print(".", end="")
view raw 03282 hosted with ❤ by GitHub


まわりくどすぎるわ!wwwwwww

日本語で説明すると
----------
文字列をインプットして、インプットした文字列をintにして、空のリストを作って、数字をリストに追加していき、ループで数字をprintして、最後の文字でなければカンマ","を書いて改行しないようにループ、最後の文字であればカンマを入れず改行もしない
----------

まぁたしかにできなくもないですが、いろいろ大変なことになってますね
入門の頃の試行錯誤でできた作品でした。



今なら同じようなものでも次のように書けます

print ("-".join(list(map(int,input().split(" ")))))
view raw 03283 hosted with ❤ by GitHub


まさかのワンライナーwww

11行のプログラムコードを1行にまとめることができました!



さて、久しぶりに勉強枠の記事でした。
問題解いていないとメソッド忘れちゃいますねぇ。定着するまでちゃんと復習しましょう


0 件のコメント:

コメントを投稿