2019年4月27日土曜日

開発環境

開発環境

プログラミング素人さんのブログの記事、競技プログラミングの基本入出力の出力編について。

文字列でない場合は変換します。
とあるけど、文字列のリスト数値のリストでも(あるいは他の型のリストでも、各要素の型が違う場合でも)同じようかけるような方法のコードを書いてみた。

コード

Python 3

#!/usr/bin/env python3
strs = ["6", "5", "6", "8"]
nums = [6, 5, 6, 8]
lst = ["6", 5, "6", 8]

for o in [strs, nums, lst]:
    print(*o)

入出力結果(cmd(コマンドプロンプト)、Terminal、Jupyter(IPython))

C:\Users\...>py sample.py
6 5 6 8
6 5 6 8
6 5 6 8

C:\Users\...>

ちょっとだけコードの説明。

print(*["6", 5, "6", 8])
print("6", 5, "6", 8)
と同じ。

ということで、アスタリスク「*」による関数引数のunpackを使えば、文字列とか数値とか気にせず、同じコードの書き方でリストの要素をスペース区切りで出力することが出来る。ということで、どちらがPythonらしい方法なのか、読みやすいか、あるいは理解しやすいかちょっと気になったり。

0 コメント:

コメントを投稿