IoTと無線ネットワーク(4)

前言

今日の授業はプロトタイピングです。

IoT知識

参考資料:https://ja.wikipedia.org/wiki/プロトタイピング

python

pythonプログラミング(4)

一、タプル

タプルの生成

  1. 空タプルの生成

    • 関数 tuple()
      
      empty = tuple()
      print(empty)

    ()

    
    - ()
    ``` python
    empty = ()
    print(empty)
    
    # ()</code></pre>
    </li>
    <li>
    <p>空でないタプルの生成</p>
    <ul>
    <li>(【要素の並び】)
    <pre><code class="language-python">
    rndm = ("M. Jackson", 1958, True)
    print(rndm)</code></pre></li>
    </ul>
    <h1>(&#039;M. Jackson&#039;, 1958, True)</h1>
    <pre><code></code></pre>
    </li>
    <li>
    <p>タプルへの変換</p>
    <ul>
    <li>リストからタプルへの変換
    <pre><code class="language-python">
    numbers = tuple([1,2,3,4,5])
    print(numbers)</code></pre></li>
    </ul>
    <h1>(1,2,3,4,5)</h1>
    <pre><code>
    - 文字列からタプルへの変換
    ``` python
    abc = tuple("abcde")
    print(abc)
    
    # ('a','b','c','d','e')

要素の参照と検索

  1. タプルの要素の参照

    • 先頭からのオフセットによる参照
      
      dys = ("1984","Brave New World","Faherenheit 451")
      print(dys[0])
      print(dys[1])
      print(dys[2])

    1984

    Brave New World

    Faherenheit 451

    
    - 末尾からのオフセットによる参照
    ``` python
    dys = ("1984","Brave New World","Faherenheit 451")
    print(dys[-1])
    print(dys[-2])
    print(dys[-2])
    
    # Faherenheit 451
    # Brave New World
    # 1984</code></pre>
    </li>
    <li>
    <p>タプルの要素の検索</p>
    <ul>
    <li>演算子 in の使用
    <pre><code class="language-python">
    dys = ("1984","Brave New World","Faherenheit 451")
    print("1984" in dys)
    print("Handmaid&#039;s" not in dys)</code></pre></li>
    </ul>
    <h1>True</h1>
    <h1>True</h1>
    <pre><code></code></pre>
    </li>
    </ol>
    <h3>二、辞書</h3>
    <h4>辞書の生成</h4>
    <ol>
    <li>
    <p>空辞書の生成</p>
    <ul>
    <li>dict()
    <pre><code class="language-python">
    fruits = dict()
    print(fruits)</code></pre></li>
    </ul>
    <h1>{}</h1>
    <pre><code>
    - ()
    ``` python
    fruits = {}
    print(fruits)
    
    # {}
  2. 空でない辞書の生成

    • {【キーとバリューのペアの並び】}
      
      fruits = {"Apple":"Red",
          "Banana":"Yellow"}
      print(fruits)

    {'Apple':'Red','Banana':'Yellow'}

要素の追加,参照,値の変更

  1. 要素の追加

    • 辞書名[キー]=バリュー
      
      fruits = dict()
      fruits["Apple"] = "Red"
      fruits["Banana"] = "Yellow"
      print(fruits)

    {'Apple':'Red','Banana':'Yellow'}

  2. 要素の参照

    • 辞書名[キー]
      
      fruits = dict()
      fruits["Apple"] = "Red"
      fruits["Banana"] = "Yellow"
      print("Apple is",fruits["Apple"])
      print("Banana is",fruits["Banana"])

    Apple is Red

    Banana is Yellow

  3. 要素の値の変更

    • 辞書名[キー]=バリュー
      
      fruits = {"Apple":"Red",
          "Banana":"Yellow"}
      fruits["Lemon"] = "Green"
      print("Apple is",fruits["Apple"])
      print("Banana is",fruits["Banana"])
      print("Lemon is",fruits["Green"])

    Apple is Red

    Banana is Yellow

    Lemon is Green

キーによる検索,キーと値の取得

  1. キーの検索

    • 演算子 in
      
      fruits = {"Apple":"Red",
          "Banana":"Yellow",
          "Lemon":"Green"}
      print("Apple" in fruits)
      print("Melon" in fruits)

    True

    False

  2. 全ての キー の取得

    • 関数 keys()
      
      fruits = {"Apple":"Red",
          "Banana":"Yellow",
          "Lemon":"Green"}
      print(fruits.keys())

    dict_keys(['Apple','Banana','Meron'])

  3. 全ての の取得

    • 関数 values()
      
      fruits = {"Apple":"Red",
          "Banana":"Yellow",
          "Lemon":"Green"}
      print(fruits.values())

    dict_values(['Red','Yellow','Green'])

  4. 全ての キー/値ペア の取得

    • 関数 items()
      
      fruits = {"Apple":"Red",
          "Banana":"Yellow",
          "Lemon":"Green"}
      print(fruits.items())

    dict_items((['Apple':'Red'),('Banana':'Yellow'),('Lemon':'Green')])

要素の削除,辞書の削除

  1. 辞書の要素の削除

    • del文
      
      fruits = {"Apple":"Red",
          "Banana":"Yellow",
          "Lemon":"Green"}
      print(fruits)
      del fruits["Banana"]
      print(fruits)

    {'Apple':'Red','Banana':'Yellow','Lemon':'Green'}

    {'Apple':'Red','Lemon':'Green'}

  2. 辞書の全要素の削除

    • メソッド clear()
      
      fruits = {"Apple":"Red",
          "Banana":"Yellow",
          "Lemon":"Green"}
      print(fruits)
      fruits.clear()
      print(fruits)

    {'Apple':'Red','Banana':'Yellow','Lemon':'Green'}

    {}

  3. 辞書の削除

    • del文
      
      fruits = {"Apple":"Red",
          "Banana":"Yellow",
          "Lemon":"Green"}
      print(fruits)
      del fruits
      print(fruits)

    {'Apple':'Red','Banana':'Yellow','Lemon':'Green'}

    Error

    
    #### 便利な関数
  • pprint(): pretty print

    fruits = dict()
    fruits["Apple"] = "Red"
    fruits["Banana"] = "Yellow"
    pp.pprint(fruits)
    
    # {'Apple':'Red','Banana':'Yellow'}

三、集合

集合の生成

  1. 空集合の生成

    • 関数 set()
      
      x = set()
      print(x)

    {}

    
    - {}
    ``` python
    x = {}
    print(x)
    
    # {}</code></pre>
    </li>
    <li>
    <p>空でない集合の生成</p>
    <ul>
    <li>{【要素の並び】}
    <pre><code class="language-python">
    even = {0,2,4,6,8,10}
    print(even)</code></pre></li>
    </ul>
    <h1>{0,2,4,6,8,10}</h1>
    <pre><code></code></pre>
    </li>
    <li>
    <p>リストや文字列からの生成</p>
    <ul>
    <li>リストからの生成
    <pre><code class="language-python">
    num = [0,2,4,6,8,10]
    even = set(num)
    print(even)</code></pre></li>
    </ul>
    <h1>{0,2,4,6,8,10}</h1>
    <pre><code>
    - 文字列からの生成
    ``` python
    letters = set("good people")
    print(letters)
    
    # {'e','d','l',' ','g','o','p'}
  2. タプルや辞書からの生成

    • タプルからの生成
      
      num = (0,2,4,6,8,10)
      even = set(num)
      print(even)

    {0,2,4,6,8,10}

    
    - 辞書からの生成
    ``` python
    fruits = {"Apple":"Red",
            "Banana":"Yellow",
            "Meron":"Green"}
    plant = set(fruits)
    print(plant)
    
    # {&#039;Apple&#039;,&#039;Meron&#039;,&#039;Banana&#039;}</code></pre>
    </li>
    </ol>
    <h4>要素の追加と削除</h4>
    <ol>
    <li>
    <p>集合への要素の追加</p>
    <ul>
    <li>メソッド add()
    <pre><code class="language-python">
    s = {0,1,2,3,4}
    s.add(3)
    print(s)</code></pre></li>
    </ul>
    <h1>{0,1,2,3,4}</h1>
    <pre><code>
    ``` python
    s = {0,1,2,3,4}
    s.add(5)
    print(s)
    
    # {0,1,2,3,4,5}
  3. 集合からの要素の削除

    • メソッド discard()
      
      s = {0,1,2,3,4}
      s.discard(1)
      print(s)

    {0,2,3,4}

    
    ``` python
    s = {0,1,2,3,4}
    s.discard(5)
    print(s)
    
    # {0,1,2,3,4}</code></pre>
    <ul>
    <li>関数 pop()
    <pre><code class="language-python">
    s = {0,1,2}
    print(s.pop())
    print(s.pop())
    print(s.pop())</code></pre></li>
    </ul>
    <h1>0</h1>
    <h1>1</h1>
    <h1>2</h1>
    <pre><code>
    ``` python
    s = {2,0,1}
    print(s.pop())
    print(s.pop())
    print(s.pop())
    
    # 0
    # 1
    # 2

集合に対する演算と関数

  1. 集合の要素数の計算

    • 関数 len()
      
      s = {0,1,2,3,4}
      n = len(s)
      print(n)

    5

  2. 和集合

    • 演算子 |
      
      s1 = {0,1,2}
      s2 = {1,2,3}

    s_union = s1 | s2
    print(s_union)

    {0,1,2,3}

    
    - 関数 union()
    ``` python
    s1 = {0,1,2}
    s2 = {1,2,3}
    
    s_union = s1.union(s2)
    print(s_union)
    
    # {0,1,2,3}</code></pre>
    </li>
    <li>
    <p>積集合</p>
    <ul>
    <li>演算子 &
    <pre><code class="language-python">
    s1 = {0,1,2}
    s2 = {1,2,3}</code></pre></li>
    </ul>
    <p>s_intsec = s1 & s2
    print(s_intsec)</p>
    <h1>{1,2}</h1>
    <pre><code>
    - 関数 intersection()
    ``` python
    s1 = {0,1,2}
    s2 = {1,2,3}
    
    s_intsec = s1.intersection(s2)
    print(s_intsec)
    
    # {1,2}
  3. 差集合

    • 演算子 -
      
      s1 = {0,1,2}
      s2 = {1,2,3}

    s_diff = s1 - s2
    print(s_diff)

    {0}

    
    ``` python
    s1 = {1,2,3}
    s2 = {0,1,2}
    
    s_diff = s1 - s2
    print(s_diff)
    
    # {0}</code></pre>
    <ul>
    <li>関数 difference
    <pre><code class="language-python">
    s1 = {0,1,2}
    s2 = {1,2,3}</code></pre></li>
    </ul>
    <p>s_diff = s1.difference(s2)
    print(s_diff)</p>
    <h1>{3}</h1>
    <pre><code>
    ``` python
    s1 = {1,2,3}
    s2 = {0,1,2}
    
    s_diff = s1.difference(s2)
    print(s_diff)
    
    # {3}
  4. 対象差集合(排他的論理和に相当)

    • 演算子 ^ 演算子
      
      s1 = {0,1,2}
      s2 = {1,2,3}

    s_sd = s1 ^ s2
    print(s_sd)

    {0,3}

    
    - 関数 symmetric_difference()
    ``` python
    s1 = {0,1,2}
    s2 = {1,2,3}
    
    s_sd = s1.symmetric_difference(s2)
    print(s_sd)
    
    # {0,3}</code></pre>
    </li>
    <li>
    <p>部分集合かどうかの判定</p>
    <ul>
    <li>演算子  <=
    <pre><code class="language-python">
    s1 = {0,1}
    s2 = {0,1,2,3}</code></pre></li>
    </ul>
    <p>s_s = s1 <= s2
    print(s_s)</p>
    <h1>True</h1>
    <pre><code>
    - 関数 issubset()
    ``` python
    s1 = {0,1}
    s2 = {0,1,2,3}
    
    s_s = s1.issubset(s2)
    print(s_s)
    
    # True
  5. 上位集合かどうかの判定

    • 演算子 >=
      
      s1 = {0,1}
      s2 = {0,1,2,3}

    s_s = s2 >= s1
    print(s_s)

    True

    
    - 関数 issuperset()
    ``` python
    s1 = {0,1}
    s2 = {0,1,2,3}
    
    s_s = s2.issuperset(s1)
    print(s_s)
    
    # True
  6. 互いに素かどうかを判定

    • 関数 isdisjoint()
      
      s1 = {0,1}
      s2 = {1,2}
      s3 = {2,3}

    print(s1.isdisjoint(s2))
    print(s1.isdisjoint(s3))

    False

    True

演習課題

  1. num = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25] とする。
  2. num を集合に変換し,n に代入する。
  3. num からスライスを用いて,4以上の2の倍数を取り出し,集合に変換してn2に代入する。
  4. num からスライスを用いて,6以上の3の倍数を取り出し,集合に変換してn3に代入する。
  5. num からスライスを用いて,10以上の5の倍数を取り出し,集合に変換してn5に代入する。
  6. nからn2, n3, n5の要素を取り除く。
  7. n の要素を印刷する。
num = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25]
print("num: ",num)

n = set(num)
print("n  : ",n)

n2 = set(num[2::2])
print ("n2 : ",n2)

n3 = set(num[4::3])
print ("n3 : ",n3)

n5 = set(num[8::5])
print ("n5 : ",n5)

n = n-n2
n = n-n3
n = n-n5
print("n  : ",n)

# num:  [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25]
# n  :  {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25}
# n2 :  {4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24}
# n3 :  {6, 9, 12, 15, 18, 21, 24}
# n5 :  {25, 10, 20, 15}
# n  :  {2, 3, 5, 7, 11, 13, 17, 19, 23}

コメントする

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

Scroll to Top