logo
Loading...

Python dict與list的程式語法 - Cupoy

data[d1[0]] = d1[1:]有人可以解釋這行的功能嗎實際執行起來,可以看到版面有差但不太...

Python dict與list的程式語法

2020/02/26 上午 00:24
Python網路爬蟲討論版
盧柏君
觀看數:8
回答數:2
收藏數:0

data[d1[0]] = d1[1:]

有人可以解釋這行的功能嗎

實際執行起來,可以看到版面有差

但不太清楚它的功能

回答列表

  • 2020/02/26 上午 01:23
    Felix
    贊同數:3
    不贊同數:0
    留言數:0

    https://docs.python.org/3.7/tutorial/introduction.html#lists


    data[d1[0]] = d1[1:]

    d1[1]等於取list中的index=1,d1[1:]等於從index=1取到最後

    d1[0]同上意思

    data[d1[0]]是指把d1[0]取出的value丟進data當作index

    data[d1[0]] = d1[1:]就是把data[d1[0]]的值設為d1[1:]

  • 2020/02/26 下午 02:22
    張維元 (WeiYuan)
    贊同數:3
    不贊同數:0
    留言數:0

    感謝 Felix 補充,以下分享一下我的想法:


    這邊兩個基本的 Python 容器用法是你必須先確認基本用法:


    1. data 是一個 dict,我們可以用 data[x] 的方式存取到到 data 中的 key = x 的資料

    2. d1 是一個 lixt,我們可以用 d1[i] 取出 d1 中第 i 筆資料、d1[i, j] 取出 d1 中第 i 到 j-1 筆資料


    然後我們再回來看你的問題:


    d1[0] 是 d1 的第 0 個資料,應該是「班次一」這個字串,d1[1:] 會取出 d1 中第 1 到最後一筆資料,應該會是一堆時間的 list。所以 data[d1[0]] 其實就是 data['班次一'](其實就是取出 dict 中 班次一 的 key),利用 = 的方式把一堆時間的 list(d1[1:] )更新進去 dict。