logo
Loading...

教材[0:5:2]以及有很多地方看不太懂~ - Cupoy

您好,想請問:1.s = ['h', 'e', 'l&#39...

教材[0:5:2]以及有很多地方看不太懂~

2022/08/18 下午 05:34
資料型態 - 容器型
林心許
觀看數:3
回答數:1
收藏數:0

您好,想請問: 1. s = ['h', 'e', 'l', 'l', 'o'] s[0:5:2] 為什麼是['h', 'l', 'o'] 2. s = 'hello world' 教材有寫到s[0]="H"是錯誤 請問錯誤在哪? 3. L = list() L.append(1) # [1] L.extend([2, 3]) # [1, 2, 3] L.insert(0, 999) # [999, 1, 2, 3] 為什麼L.extend是用小括號+中括號?其他兩者只用小括號就好? 他們同樣是新增元素,但用法上是否不一樣的東西呢?還是只是python的規定,沒有原因? 4. 輸入d.get('Tom', '3'), d 程式,甚麼也沒發生,不太懂這一行的用意是甚麼。 輸入d.setdefault('Tom', 3), d ,印出來應該是{'Mark': 1, 'Mary': 2, 'Tom': 3}吧?上面不是已經del d['test']了嗎? 謝謝

回答列表

  • 2024/07/06 下午 00:03
    蘇彥儒
    贊同數:0
    不贊同數:0
    留言數:0

    1. s = ['h', 'e', 'l', 'l', 'o'] s[0:5:2] 為什麼是['h', 'l', 'o'] Ans: s[0:5:2] 分別是 起始項:結束項(不納入):間隔 h e l l o 0 1 2 3 4 所以s[0:5:2] => 0,2,4 => h,l,o 2. d s = 'hello world' 教材有寫到s[0]="H"是錯誤 請問錯誤在哪? Ans: 字串 跟 元組 一樣內容是不可變的 不像列表内容是可以變的 a = [1,2,3] a[0] = 4 #將a位址0項改為4 a => [4,2,3] 這種操作 字串跟元組是錯誤的。 所以教材說是錯誤。 3. L = list() L.append(1) # [1] L.extend([2, 3]) # [1, 2, 3] L.insert(0, 999) # [999, 1, 2, 3] 為什麼L.extend是用小括號+中括號?其他兩者只用小括號就好? 他們同樣是新增元素,但用法上是否不一樣的東西呢?還是只是python的規定,沒有原因? L.append(a): 直接將內容放在L串列後面一個元素。 L.extend(a):  括號內要置入串列,會直接將該串列接在L串列之後。 L=[1,2,3] L.append([4,5])  L => [1,2,3,[4,5]] L.extend([4,5])  L=> [1,2,3,4,5] L.insert(n,a): 將a插入L串列的第n項 L=[1,2,3] L.insert(1,999) L => [1,999,2,3] 4. 輸入d.get('Tom', '3'), d 程式,甚麼也沒發生,不太懂這一行的用意是甚麼。 輸入d.setdefault('Tom', 3), d ,印出來應該是{'Mark': 1, 'Mary': 2, 'Tom': 3}吧?上面不是已經del d['test']了嗎? d.get('Tom', '3'), d 因為d字典裡面沒有'Tom' 所以傳回空