2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

新Python生活三日目(振返り)【PyQ/6章】※不明点あり

Last updated at Posted at 2017-11-12

心機一転して再開したアンパン生活・・・ならぬ、Python生活も復習三日目。
後で振り返られるように、初のMarkdownに戸惑いながら、
今日も技術ブログ残していきます。

###リストの要素確認

if B in S1: #S1って名前のリストの中にBがあれば~
    print('S1リストの中にBはありまーす') #表示するよ

###キーもしくは値があるかの確認

fruits = {'りんご':'red'
         ,'みかん':'orange'
         ,'バナナ':'yellow'} #fruitsって名前の辞書に、キーと値が設定されて3つが登録されてるよ

if 'りんご' in fruits.kyes(): #fruits辞書のキーの中に'りんご'はあったかな?
    print('りんごあるよー') #あった時は表示する

if 'yellow' in fruits.values(): #fruits辞書の値の中に'yellow'はいたっけ?
    print('yellowいました') #いたら表示する

###辞書の各数値を計算する

T1 = {'a': 10, 'b': 20, 'c': 30} #T1って名前の辞書に、キーと値が設定されて3つが登録されてるよ

T1['a'] = T1['a'] + 10 #キーaは10だったけど、10+10=20が代入されたよ
T1['b'] = T1['b'] - 5 #キーbは20だったけど、20-5=15が代入されたよ

★分からんポイント
↑ここまではなんとか理解。でも続きの以下の回答がよく分からず。

for k, v in count.items():
    print(k + ':' + str(v))
出力結果
a:20
b:15
c:30

キーと値をコロンで区切って並べて表示させたいんだろーけど、
なんでいきなりkとかvが出てくるのか、PyQ内に説明も本家Pythonへのリンクもない。。

うーん。
一度で全部理解しようとせずに一旦先に進もう。

###計算の省略
↑でさっき書いた計算式を省略して記述出来るそうです。
私はこの記載の仕方が逆に分かりづらくて苦手です。。

T1['a'] = T1['a'] + 10

T1['a'] += 10


T1['b'] = T1['b'] - 5

T1['b'] -= 5

###集計
リスト内に各値が何個ずつあるのかを集計

S1 = ['A', 'B', 'C', 'A', 'A', 'B', 'A', 'B', 'A', 'C'] #S1って名前のリストの中身を集計する
count = {'A': 0, 'B': 0, 'C': 0} #countって名前の辞書を、キーはA,B,C、値は0で作成する

★分からんポイント
↓が私にはちょっと理解しにくい。

for val in S1: #S1リストの要素の1つ1つを変数valに代入していく??
    count[val] += 1 #count辞書のキーに1ずつ足していく??

for k, v in count.items(): #また分かんないの来た!!!
    print(k + ':' + str(v))
出力結果
A:5
B:3
C:2

↑ではcount辞書に「キーをA,B,C、値を0」で先に指定してから作成していた。
キー等を指定しないで空っぽの辞書を作成するしとく事も出来るが、
それだともう少し行を追加しとく必要があるみたい。

S1 = ['A', 'B', 'C', 'A', 'A', 'X', 'B', 'A', 'B', 'A', 'C', 'Y'] #S1って名前のリストの中身を集計する
count = {} #今回はcountって名前の辞書を中身空っぽで作成する

for val in S1:
    if val in count.keys(): #if文でcount辞書のキーを1つずつ変数valに代入していく??
        count[val] += 1 #count辞書のキーに1ずつ足していく??
    else:
        count[val] = 1

# 表示
for k, v in count.items():
    print(k + ':' + str(v))
出力結果
A:5
B:3
C:2
X:1
Y:1

この辺りから理解度が低下してきて、
進捗が停滞→モチベーションダウンしてしまったんですよね。

一度で理解できなくても、何周かしていくうちに慣れてくる・・・と信じて毎日少しずつでも進めていきます。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?