###### tags: `chapter 6` `Python` # 6-5 再談字串 # 前面的小節講到很多關於串列的操作,但其實串列的操作放在字串裡也一樣可行,我們曾說過字串就相當於很多個字元組合在一起,因此概念上來說和串列也有幾分神似,這裡將介紹幾個字串常用的操作。 ## 字串切片 ## 串列的`slice`一樣可以套用在字串上,其`slice`的依據是將一個字元對應到一個`index`,所以若字串長度為`n`,`slice`時的可操作index為`0` ~ `n-1` ```python= data = "Hello,World" print(data[0:5]) print(data[-3:-1]) # Hello # rl ``` ## 字串轉成串列 ## 前面提到這兩者有幾分神似,如果你想將字串轉換為一個串列,你只需要用到`list()`就可以完成了,這個函式會將字串裡的每一個字元轉換為串列的一個元素。 ```python= world = "Hello,World" data = list(world) print(world) print(data) # Hello,World # ['H', 'e', 'l', 'l', 'o', ',', 'W', 'o', 'r', 'l', 'd'] ``` ## 切片賦值 ## 原本的字串是無法用index的概念去賦值的,但轉換為串列之後,就可以運用`[:]`的概念去賦值囉! ```python= data = list("Hello,world") data[5:] = ':)' print(data) # ['H', 'e', 'l', 'l', 'o', ':', ')'] ``` ## 字串分割 ## `split()`函式可以幫助我們將字串用` `來分開,並且將切完後的結果轉換為串列的型式,這樣做的原因是讓我們在字數統計時能更方便。 可以用字串變數讀入一整篇文章後用`split()`將她們分割,最後再使用`len()`去計算文章的總字數。 ```python= random_num = "1 10 9 5000 3 288 499" split_num = random_num.split() print(len(split_num)) # ['1', '10', '9', '5000', '3', '288', '499'] ``` 如果想要根據其他特定的字元來切割字串,可以將該字元放入`()`內哦! ```python= random_num = "1_10_9_5000_3_88" split_num = random_num.split("_") print(len(split_num)) # ['1', '10', '9', '5000', '3', '88'] ```