Python 零基礎新手入門 #08 Dictionaries (字典)

แชร์
ฝัง
  • เผยแพร่เมื่อ 25 ธ.ค. 2024

ความคิดเห็น • 21

  • @AngusMa
    @AngusMa 2 ปีที่แล้ว +13

    刪除字典還可以用del語法,像是「del 手機["顏色"]」,這個語法也可以刪除變數,像是「del 手機」,之後再呼叫「手機」這個變數就會出現錯誤。
    建立字典也有一種叫做Dictionary comprehension的語法,可以在大括號裡面放for迴圈來產生字典。
    手機型號 = ['iPhone 13', 'iPhone 14', 'iPhone 13 Mini', 'Pixel 7 Pro']
    手機容量 = ['256GB', '512GB', '128GB', '256GB']
    手機顏色 = ['藍色', '紫色', '星光色','霧灰色']
    手機 = {手機型號[i]:{'容量':手機容量[i], '顏色':手機顏色[i]} for i in range(len(手機型號))}
    # 還可以加入if語句來篩選資料
    手機 = {手機型號[i]:{'容量':手機容量[i], '顏色':手機顏色[i]} for i in range(len(手機型號)) if 'iPhone' in 手機型號[i]}
    # 'Pixel 7 Pro' 這個機型名稱不包含'iPhone',所以不會出現在「手機」裡面

  • @小翰翰-z5w
    @小翰翰-z5w 2 ปีที่แล้ว +7

    真的很感恩 有這麼好的東西可以學習

  • @user-saint
    @user-saint 2 ปีที่แล้ว +2

    非常感謝版主的無私教學

  • @yunwang1746
    @yunwang1746 หลายเดือนก่อน

    留言支持謝謝老師

  • @adenpun
    @adenpun 2 ปีที่แล้ว +7

    Dictionary在某些語言裡會叫Map或者Collection

    • @sandytw
      @sandytw 2 ปีที่แล้ว

      or HashMap in Rust

    • @Odie_Ou
      @Odie_Ou 2 ปีที่แล้ว

      如果以Java 來說 Dictionary 比較偏 Map
      Collection 則是偏 List
      兩個儲存方式 & 演算法都有點差距
      這部影片比較偏 Map 的介紹

  • @atsuki0748
    @atsuki0748 2 ปีที่แล้ว

    感謝教學 正好複習之前所學

  • @王大陆-w3g
    @王大陆-w3g ปีที่แล้ว +1

    讲得这么好,言简意赅,为什么断更了呢,是播放量少的原因吗?可以付费的啊

  • @Mike-gt9no
    @Mike-gt9no 2 ปีที่แล้ว +1

    期待之后会出python 和 excel 互动 的系列

  • @vickl999512
    @vickl999512 2 ปีที่แล้ว +1

    for 規格 in 手機:
    print(規格)
    這個是不是跟 in 手機.keys()是一樣的效果?

  • @mikethegamedev
    @mikethegamedev 2 ปีที่แล้ว

    谢谢

  • @甘楽-d6v
    @甘楽-d6v 2 ปีที่แล้ว

    謝謝Papaya分享
    可以教我一下python(pycharm)怎樣可以在離線的狀態下安裝package嗎😢

  • @user-xs3tw5id7y
    @user-xs3tw5id7y 2 ปีที่แล้ว

    05:20 輸入"米" 或 字典裡有的1個字也都出現 有庫存
    請問要如何解決

    • @user-xs3tw5id7y
      @user-xs3tw5id7y 2 ปีที่แล้ว

      @逆道者 一樣XD

    • @partyhu
      @partyhu 2 ปีที่แล้ว +1

      if '\''+查询.strip()+'\'' in str(库存):
      因为库存是一个长字符串,内容类似[{'品牌': 'iPhone', '型号': '14 Pro', '容量': '512 GB', '颜色': '黑色'}, {'品牌': 'Mi', '型号': 'Note 12', '容量': '512 GB', '颜色': '紫色'}] 这样。
      所以i、P、o、n、e、M等都包含在这个字符串内,给变量前后增加两个单引号,匹配到 'Mi' 就可以了
      加引号之前,用strip去掉可能误输入的前后空格

    • @nicolaschen4147
      @nicolaschen4147 2 ปีที่แล้ว

      查询是让用户输入厂牌名称,那么19行的库存清单也应该是三个手机的厂牌清单,库存 = [手机1["厂牌"],手机2["厂牌"],手机3["厂牌"]]

    • @user-xs3tw5id7y
      @user-xs3tw5id7y 2 ปีที่แล้ว

      @@partyhu 可行 感謝

  • @hahaheheho7199
    @hahaheheho7199 2 ปีที่แล้ว

    請問是不是可以設定用手機加入會員,有的yt是可以的

  • @葛賽
    @葛賽 2 ปีที่แล้ว

    👍👍👍

  • @jasonxenon3030
    @jasonxenon3030 2 ปีที่แล้ว +6

    # 手機庫存查詢
    手機1 = {
    "廠牌" : "蘋果",
    "型號" : "iPhone 14 Pro",
    "容量" : "512 GB",
    "顏色" : "深紫色"
    }
    手機2 = {
    "廠牌" : "小米",
    "型號" : "12 Pro 5G",
    "容量" : "256 GB",
    "顏色" : "銀色"
    }
    手機3 = {
    "廠牌": "三星",
    "型號" : "Galaxy S22 Ultra",
    "容量" : "256 GB",
    "顏色" : "夜暮紅"
    }
    庫存 = [手機1, 手機2, 手機3];
    while True:
    查詢 = input("請輸入要查詢的廠牌名稱(輸入“退出”結束本程式):");
    if 查詢 == "退出":
    print("再見,歡迎再次使用!")
    break;
    elif 查詢 in str(庫存):
    for 手機 in 庫存:
    if 手機["廠牌"] == 查詢:
    print(f"目前庫存中有{手機['顏色']}的 {手機['型號']},容量是 {手機['容量']}");
    else:
    print(f"目前沒有{查詢}手機的庫存");