Pythonプログラミング

【Python】8.リスト(2)listの操作

リストの中身を計算する

今日はリストの2回めです。
まずは、一度格納したリストに対して四則計算をしてみましょう。
仮に、売上高300万円の商品から製造原価、人件費、倉庫費を引いて利益を計算をするとしましょう。費用はそれぞれ3000、25000、150000とします。

入力例)
uriage = 3000000
cost = [3000,25000,150000]
totalcost = 0
 for i in cost:
 totalcost = totalcost + i
print(uriage – totalcost)

  1. uriageを300万とします。
  2. Costをカンマ切りで入力します。
  3. totalcostを定義し、リセットのためゼロとします。
  4. for文でcostのデータ数分繰り返し処理を行います
  5. totalcostにtotalcostにi(その時のリストの中身)を加算して代入します。
  6. totalcostは最初の中身を取り出し、次の値iを加算して代入し、これをcostのデータの長さ分繰り返します。
  7. ループから出てuriageからtotalcostを引いて出力します

出力結果)
2822000

これが当座の利益となります。もちろんこの計算はいい加減ですが、こんな感じに使用する事もできますという意味で。

キーボードで入力した値をリストに格納する

6.標準入力で出てきた標準入力と組み合わせて、入力された値をリストに格納してみましょう。ただ、1.文字を書くでも出てきたように、Pythonは目に見えなくても改行コードなど記号がついてきます。そこで特定の文字列や改行コードなどを取り除くstripという関数を使います。

strip関数

例えば、「HelloWorld」という文字列の前後に余計な空白があったとします。

入力例)
a = ” HelloWorld “print(a)
出力結果)
HelloWorld

当然、出力結果にも余計な空白があります。リストに格納するにはこれはいらない場合がほとんどなので、このaにstripをかけてみましょう。書き方はa.strip()です。

入力例)
a = ” HelloWorld “
b = a.strip()
print(a)
print(b)

出力結果)
HelloWorldHelloWorld

stripをかける前のaは空白があり、かけた後のbでは消えています。見えないですが改行も消えています。stripの後の()は引数ですので、ここに文字列や記号を指定すると、その文字列が消えます。strip関数にはlとrがあり、lstrip関数は文字列の先頭から、rstrip関数は文字列の末尾から文字を削除します。すると、rstripがかかっている変数は改行記号のみが消える事になります。

split関数

次に登場するのがsplit関数です。splitは文字列を指定した文字のところで区切る事ができます。例えば、「Hello_World」と文字に「,」があるとします。

入力例)
a = “Hello_World”
b = a.split(“_”)
print(a)
print(b)

出力結果)
Hello_World
[‘Hello’, ‘World’]

splitをかける前のaは一連の文章で、かけた後のbでは_で区切ったリストになっています。_そのものは消えます。
それでは、それらを使って、入力された文字列をリスト化します。ついでに1つづつ出力しましょう。うまくいかない場合は”や,などの記号を打ち直して下さい。

入力例)
txt= input().rstrip().split(“,”)
print(txt)
print(len(txt))
for i in txt:
 print(i + “と入力されています”。)

  1. テキストを受け取り、末尾を消して”,”で分割しtxtに代入する
  2. とりあえず、そのまま出力します
  3. 入力した文字列が何個のリストになっているか数えます
  4. リストを取り出すにはfor文で連続処理します。txtの中身を1個づつ取り出しiとします。
  5. 出力します。

入力例)
入力左官,鳶,木挽

出力結果)
[‘左官’, ‘鳶’, ‘木挽’]
3
左官と入力されています
鳶と入力されています
木挽と入力されています

このようになります。

リストの中身をループで出力する

次は、たまには役に立つものを作ろうと思います。メールフォームによくある、都道府県を選択するセレクタをPythonで作ってみましょう。
まず、カンマ切りされた都道府県リストを用意します。

“北海道”,”青森県”,”岩手県”,”宮城県”,”秋田県”,”山形県”,”福島県”,”茨城県”,”栃木県”,”群馬県”,”埼玉県”,”千葉県”,”東京都”,”神奈川県”,”新潟県”,”山梨県”,”長野県”,”富山県”,”石川県”,”福井県”,”岐阜県”,”静岡県”,”愛知県”,”三重県”,”滋賀県”,”京都府”,”大阪府”,”兵庫県”,”奈良県”,”和歌山県”,”鳥取県”,”島根県”,”岡山県”,”広島県”,”山口県”,”徳島県”,”香川県”,”愛媛県”,”高知県”,”福岡県”,”佐賀県”,”長崎県”,”熊本県”,”大分県”,”宮崎県”,”鹿児島県”,”沖縄県”

これをリストに格納して、HTMLタグとして出力してみましょう。

入力例)
prefectures = [“北海道”,”青森県”,”岩手県”,”宮城県”,”秋田県”,”山形県”,”福島県”,”茨城県”,”栃木県”,”群馬県”,”埼玉県”,”千葉県”,”東京都”,”神奈川県”,”新潟県”,”山梨県”,”長野県”,”富山県”,”石川県”,”福井県”,”岐阜県”,”静岡県”,”愛知県”,”三重県”,”滋賀県”,”京都府”,”大阪府”,”兵庫県”,”奈良県”,”和歌山県”,”鳥取県”,”島根県”,”岡山県”,”広島県”,”山口県”,”徳島県”,”香川県”,”愛媛県”,”高知県”,”福岡県”,”佐賀県”,”長崎県”,”熊本県”,”大分県”,”宮崎県”,”鹿児島県”,”沖縄県”]
print(“”)
for i in prefectures:
     print(“” + i + “”)
print(“”)

  1. 都道府県リストをprefecturesに代入
  2. Selectの開始タグを出力
  3. prefecturesの数ぶんのループを開始Pythonのコードで「”」を使い、HTMLのコードで「’」を使う事にします。逆でもまったく変わりありません。
  4. optionタグの開始を出力し、valueの部分で一度切ってiを出力し、タグの間にまたiを出力します。
  5. 最後にoptionとselectの閉じタグを出力します。

タグを直接書くより、かなり楽に作れましたね!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です