iT邦幫忙

2023 iThome 鐵人賽

DAY 28
0
自我挑戰組

待業不頹廢系列 第 28

Day 28 . 欸 今天要幹嘛 - tuple數組、set集合、dict字典

  • 分享至 

  • xImage
  •  

行前提要

前面只有提到 list 串列
今天來說說其他的。

tupel()

  • 關於數組的長相會像是:

    a = (3, 5, 2, 6)
    b =() 可以是空的數組
    c =(2, [4,6], (7, 8, 9)) 內容物可以是 不同資料型態的元素

  • 拆解數組中的元素(Unpack)

    a, *b = (1, 3, 5, 7, 9)

    print(a) >>> 1 型態為 int
    print(b) >>> [3, 5, 7, 9] 型態為 list

    x, *y, z=(2, 4, 6, 8, 10)
    print(x) >>> 2
    print(y) >>> [4, 6, 8]
    print(z) >>> 10

  • 具有索引值
    a = (3, 5, 2, 6)
    c =(2, [4,6], (7, 8, 9))

    d = a[1] >>> d = 5
    e = a[1:3] >>> (5, 2) 切片包頭不包尾
    f = c[1][1] >>> 6

  • 常用函數

    • len() >>> 長度,元組中元素的數量
      a = (3, 5, 2, 6)
      print(len(a)) >>> 4

    • max() >>> 元組中的最大值
      a = (3, 5, 2, 6)
      print(max(a)) >>> 6

    • min() >>> 元組中的最小值

    • sum() >>> 計算數字元組中所有元素的總和
      print(sum(a)) >>> 16

    • index() >>> 獲取指定值的第一個匹配項在元組中的索引
      a = (3, 5, 2, 6)
      print(a.index(5)) >>> 1
      代表找出元素 5 的索引值,如果沒有這個元素將會出現
      ValueError: tuple.index(x): x not in tuple

    • count() >>> 計算指定值在元組中出現的次數
      a = (3, 5, 2, 6)
      print(a.count(1)) >>> 0 數列裡沒有1

set{}

dict{}

{key:value,key:value}
多筆資料用逗號隔開
很像hash

沒有索引值,但有類似操作

A = {'one':1, 'two':2, 'three':3}
x = A['one']
print(x)
A['three'] = 300

print(A)
>>>
1
{'one': 1, 'two': 2, 'three': 300}
  • 第二行 找 A 裡面有沒有 one 這個 key,然後就輸出 會是 1
  • 第四行 利用類似索引值的中括號,但我們鎖定的是 key ,更改 key 的內容就是 value
  • 也可以移除一組內容,如下
A = {'one':1, 'two':2, 'three':3}
x = A['one']
print(x)
A['three'] = 300

print(A)
del A['two']
print(A)
>>>
1
{'one': 1, 'two': 2, 'three': 300}
{'one': 1, 'three': 300}

上一篇
Day 27 . 欸 今天要幹嘛 - Exception 例外
下一篇
Day 29 . 欸 今天要幹嘛 - file processing
系列文
待業不頹廢30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言