neverjpのぶらり日記

コンピューター関連の記事とぶらりと出かけた先の写真など

zip関数

f:id:neverjp:20190810114503j:plain

zip関数


190809zip関数

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

 

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

rangeとenumerate

f:id:neverjp:20190808163416j:plain

rangeとenumurate関数

 

rangeとenumerate
range()関数に1つだけ整数を与えると、0から始まり、引数の1つ前の値まで順に増える数値を作ることができます。
range()に与える引数によって、n回繰り返すループを作れるわけです。

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

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

 

f:id:neverjp:20190801162651j:plain

in演算子の例

f:id:neverjp:20190801162651j:plain

in演算子の例



190801


inを使ってオブジェクトの要素を調べる
比較演算子のinは、文字列やリストなどシーケンス型の要素を検査のために利用される演算子です。

① 文字列の中に「brain」という文字列が含まれるか。

② wordcountという辞書に「nThailand」というキーが含まれるか。

③ wordcountという辞書が存在するか。

Pythonでは以下のような組み込み型のオブジェクトをbool値として評価したときにTrue(真)と評価します。

☑ 0以外の数値

☑ 長さのある文字列(空でない文字列)

☑ 要素を持つ、リストやタプルのようなシーケンス

☑ 要素を持つディクショナリ

⑤ 以下のような組み込み型のオブジェクトをbool値として評価したときにFalse(偽)とします。

☑ 数値の0

☑ 空の文字列(空の文字列は「””」として定義できます)

☑ 空のリストやタプル(空のリストは[]として定義できます)

☑ 空のディクショナリ(空のディクショナリは{}として定義できます)


以上

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

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

f:id:neverjp:20190729171017j:plain

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

f:id:neverjp:20190729171111j:plain

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




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


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

② ディクショナリに登録されているキーの一覧を返します。

③ get(キー[, 値])

④ ディクショナリからキーに割り当てられた値を返します。

⑤ ディクショナリに登録されているキーと値をペアにしたタプルを、リストにして返します。

⑥ ディクショナリに登録されている値の一覧を返します。

⑦ ディクショナリを引数で上書きします。

以上

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

明日は土用丑の日

f:id:neverjp:20190726214518j:plain

鹿児島県産の鰻2尾

f:id:neverjp:20190726214624j:plain

鹿児島県産の鰻2尾その2



明日は土用丑の日
明日27日は土用丑の日です。
今日スーパーで特上の鹿児島県産の鰻2尾パックを買ってきました。
昨年は何度も長兄からての字本店でうな重をごちそうになりました。
明日はこれまた長兄から頂いた山形県産のつや姫を炊いてうな丼にして食べようと思っています。
今から楽しみです。

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

家内の誕生日に送られた京都の友人からの贈り物

f:id:neverjp:20190726200647j:plain

京都の家内の友人から届いた品々

f:id:neverjp:20190726200807j:plain

京都しののめじゃこ山椒



家内の誕生日に送られた京都の友人からの贈り物
毎年贈られた品物を私はお相伴にあずかっているのだが、今年も京都じゃこ山椒が送られてきた。
私の大好物である。
ピリリと舌に来て大変なおおごちそうである。
その他、上品な甘さの冷菓も美味しかった。
自宅で採れたキュウリもまた美味しかった。
Yさん毎年美味しいものを有難うございます。
ご主人にもよろしくお伝えください。

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

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

190724

f:id:neverjp:20190724174606j:plain

dictionary-PyCharmの場合

f:id:neverjp:20190724174740j:plain

dictionary-atomの場合

f:id:neverjp:20190725125552j:plain

dictionary-PyCharmの場合(size変更)



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

ディクショナリを使った処理では、キーが存在するかどうかに気を付けて処理を行わなければなりません。キーを指定した代入を実行する際には、キーが存在しない場合は新たに追加されるので、問題はあまり起きません。気を付けなければならないのは、キーを指定してディクショナリの要素を参照する場合です。存在しないキーを使ってディクショナリの要素を参照しようとすると、例外(KeyError)が発生します。

例えば、ファイルに含まれる英単語の出現回数を数える処理を記述する場合、ディクショナリでは、キーとして同じ要素を登録できません。この性質を利用して、英単語をキーとして、出現回数(数値)を登録したディクショナリを作ることにします。

この例がアイキャッチに掲載したプログラムです。

  • lineに英文を代入します
  • wordcountの辞書を作ります
  • ループでは読み込んだ行にsplit()メソッドを使ってシーケンスを作っています。英文を空白文字で区切った結果が、1つずつ繰り返し変数に代入されていきます。英文の行が分割されて、繰り返し変数に英単語が代入され、ループが実行されます。
  • 繰り返し変数がディクショナリのキーとして登録されているかを調べています。もしキーとして登録されていたら、単語のカウントを1つ増加します。代入の右側では、キーを使ったディクショナリの参照が行われています。登録されていない単語が現れると、存在しないキーを参照することになります。そのため、in演算子を使ってキーが存在するかどうかを確認する必要があります。この処理がif文で行っていることです。
  • カウントに1を入れます。
  • ディクショナリのキーを打ち出しています。
  • ディクショナリを打ち出しています。

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