zip関数

zip()関数を使い、名前とメールアドレスのリストを使って、名前を差し込んだメールを送るようなコードを書きたい場合にアイキャッチ画像のようなコードになります。

190809

zip関数

zip()関数で作ったシーケンスをfor文で使うと、2つのタプルを、1つずつ取り出しながら繰り返し変数に代入していきます。繰り返し変数を2つ記述すると、2つの要素を別々の変数で受け取ることができます。zip()関数を使い、名前とメールアドレスのリストを使って、名前を差し込んだメールを送るようなコードを書きたい場合にアイキャッチ画像のようなコードになります。

↑人気ブログランキングに参加しています。ポチっと1票を!

inを使ってオブジェクトの要素を調べる

比較演算子のinは、文字列やリストなどシーケンス型の要素を検査のために利用される演算子です。

190801

inを使ってオブジェクトの要素を調べる

比較演算子のinは、文字列やリストなどシーケンス型の要素を検査のために利用される演算子です。
① 文字列の中に「brain」という文字列が含まれるか。
② wordcountという辞書に「nThailand」というキーが含まれるか。
③ wordcountという辞書が存在するか。
④ Pythonでは以下のような組み込み型のオブジェクトをbool値として評価したときにTrue(真)と評価します。
☑ 0以外の数値
☑ 長さのある文字列(空でない文字列)
☑ 要素を持つ、リストやタプルのようなシーケンス
☑ 要素を持つディクショナリ
⑤ 以下のような組み込み型のオブジェクトをbool値として評価したときにFalse(偽)とします。
☑ 数値の0
☑ 空の文字列(空の文字列は「””」として定義できます)
☑ 空のリストやタプル(空のリストは[]として定義できます)
☑ 空のディクショナリ(空のディクショナリは{}として定義できます)

以上

↑人気ブログランキングに参加しています。ポチっと1票を!

ディクショナリ別解とその他のメソッド

先日の例の処理は、get()メソッドを使えば、ずっと短く、よりすっきり書けます。get()を使うと、キーが存在しなかったときに0を返すような処理を1行で書くことができます。そのため、if文の3行のブロックを書かなくてよくなるのです。

190729

ディクショナリ別解とその他のメソッド

① 先日(7月24日)の例の処理は、get()メソッドを使えば、ずっと短く、よりすっきり書けます。get()を使うと、キーが存在しなかったときに0を返すような処理を1行で書くことができます。そのため、if文の3行のブロックを書かなくてよくなるのです。
② ディクショナリに登録されているキーの一覧を返します。
③ get(キー[, 値])
④ ディクショナリからキーに割り当てられた値を返します。
⑤ ディクショナリに登録されているキーと値をペアにしたタプルを、リストにして返します。
⑥ ディクショナリに登録されている値の一覧を返します。
⑦ ディクショナリを引数で上書きします。

ディクショナリとそのメソッド

以上

↑人気ブログランキングに参加しています。ポチっと1票を!

ディクショナリのキーをスマートに扱う

190722

ディクショナリのキーをスマートに扱う

ディクショナリを使った処理では、キーが存在するかどうかに気を付けて処理を行わなければなりません。キーを指定した代入を実行する際には、キーが存在しない場合は新たに追加されるので、問題はあまり起きません。気を付けなければならないのは、キーを指定してディクショナリの要素を参照する場合です。存在しないキーを使ってディクショナリの要素を参照しようとすると、例外(KeyError)が発生します。
例えば、ファイルに含まれる英単語の出現回数を数える処理を記述する場合、ディクショナリでは、キーとして同じ要素を登録できません。この性質を利用して、英単語をキーとして、出現回数(数値)を登録したディクショナリを作ることにします。
この例がアイキャッチに掲載したプログラムです。
① lineに英文を代入します
② wordcountの辞書を作ります
③ ループでは読み込んだ行にsplit()メソッドを使ってシーケンスを作っています。英文を空白文字で区切った結果が、1つずつ繰り返し変数に代入されていきます。英文の行が分割されて、繰り返し変数に英単語が代入され、ループが実行されます。
④ 繰り返し変数がディクショナリのキーとして登録されているかを調べています。もしキーとして登録されていたら、単語のカウントを1つ増加します。代入の右側では、キーを使ったディクショナリの参照が行われています。登録されていない単語が現れると、存在しないキーを参照することになります。そのため、in演算子を使ってキーが存在するかどうかを確認する必要があります。この処理がif文で行っていることです。
⑤ カウントに1を入れます。
⑥ ディクショナリのキーを打ち出しています。
⑦ ディクショナリを打ち出しています。

Dictionary-atomの場合

dictionary-PyCharmその2


↑人気ブログランキングに参加しています。ポチっと1票を!

Python-format(PyCharm)その3

Python-format(PyCharm)その3

①数値がプラスの時「+」を付ける
②数値がプラスの時「+」を付ける(マイナスの時は「-」)
③数値がプラスの時、何もつけない
④数値がマイナスの時「-」を付ける
⑤小数点以下2桁の%表示
⑥三桁ごとカンマを入れる
⑦コード「100」の文字「d」、「101」の時「e」
⑧数値「100」の時→100
⑨浮動小数
⑩「100」に相当するHEX値
⑪「100」に相当するbinary値

↑人気ブログランキングに参加しています。ポチっと1票を!

PyCharm-formatその2

PyCharm-formatその2

①ポジショナルパラメータ
②キーワードパラメータ
③引数として渡したディクショナリのキーを指定
④その結果
⑤sysモジュールのversionアトリビュートを使ってPythonのバージョンを表示する
⑥一つ目の要素を左詰めで、二つ目の要素を右詰めで

↑人気ブログランキングに参加しています。ポチっと1票を!

Python文字列操作format①

Python文字列操作format①

PyCharmの場合

①formatの引数「Platon」を{}(波括弧-差し込みエリア)に挿入する
②差し込みエリアが2つある
③差込データを挿入する
④第一パラメータにデータを挿入する
④第二パラメータに「http://」を削除したデータを挿入する
⑤「https://」を同様にセットする

下欄に結果を表示してある

↑人気ブログランキングに参加しています。ポチっと1票を!

splitを使った、和暦→西暦プログラム

splitを使った、和暦→西暦プログラム

・使っている「かな漢字変換」によって漢字の入力・変換後”Enter”入力の必要あり。
・デリミターに半角(または全角)スペースが必要。
・「明治」「大正」「昭和」「平成」「令和」以外はエラー。
・元号による年号範囲のチェックはなし。

↑人気ブログランキングに参加しています。よろしければ1票を!

Atomでelif,elseがSyntax errorになる件その2

Atomでelif,elseがSyntax errorになる件その2(PyCharmの場合)

Atomでelif,elseがSyntax errorになる件その2

西暦から元号(和暦)への変換プログラムの再掲載(PyCharmの場合)。

・AtomとPyCharm環境下でelse,elifを実行すると違った結果になる。
・AtomのHydrogen(Shift+Enter)を実行することは裏でJupyterが走っていることに他ならない。
・PyCharmでelifが正常に処理されることからProgramに誤りはない。
・Atom下でAlt+Rで実行するとErrorも起きないが処理結果もCode化けで正しく表示されない。
・AtomでAlt+Rで実行するには漢字などの2バイトコードを使うProgramは実行できない。
・これらのことからAtom下では限定的なプログラムにとどめて大部分はPyCharmで開発することになる。

① 西暦を入力させる
② 入力した年を表示する
③ 明治元年か?
④ 明治時代の何年か?
⑤ elifがSyntaxErrorとならない

結果として2025を入力すると「令和7年」が表示される。

以上

↑人気ブログランキングに参加しています。よろしければ1票を!

Atomでelif,elseがSyntax errorになる件

Atomでelif,elseがSyntax errorになる件。

Atomでelif,elseがSyntax errorになる件

西暦から元号(和暦)への変換プログラムの再掲載。

・AtomとPyCharm環境下でelse,elifを実行すると違った結果になる。
・AtomのHydrogen(Shift+Enter)を実行することは裏でJupyterが走っていることに他ならない。
・PyCharmでelifが正常に処理されることからProgramに誤りはない。
・Atom下でAlt+Rで実行するとErrorも起きないが処理結果もCode化けで正しく表示されない。
・AtomでAlt+Rで実行するには漢字などの2バイトコードを使うProgramは実行できない。
・これらのことからAtom下では限定的なプログラムにとどめて大部分はPyCharmで開発することになる。

① 西暦を入力させる
② 入力した年を表示する
③ 明治元年か?
④ 明治時代の何年か?
⑤ elifがSyntaxErrorとなる

以上

↑人気ブログランキングに参加しています。よろしければ1票を!