日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python slice类型_复合类型Slice python中的list

發布時間:2023/12/15 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python slice类型_复合类型Slice python中的list 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

# GO types Slice

### Author 品茶

> Slice(切片)代表變長的序列,序列中每個元素都具有相同的類型,slice類型寫成[]T,T代表slice中元素的類型,slice的語法和數組很像

> 只是沒有固定長度而已。

> slice的底層引用一個數組對象,三部分組成:指針、長度(len)、容量(cap),指針指向第一個slice元素對應的底層數組元素的地址,

> 注意slice的第一個元素并不一定就是數組的第一個元素(有可能是切片后的)。

> 長度不能超過容量,容量一般是從slice的開始位置到底層數據的結尾位置。

> 長度:實際元素個數

> 容量:最大可裝載的元素個數,超過則對前一個容量*2

多個slice之間可以共享底層的數據,并且引用的數組部分區間可能重疊

~~~

func main() {

// 定義一個數組

months := [...]string{

1: "January",

2: "February",

3: "March",

4: "Aprill",

5: "May",

6: "June",

7: "july",

8: "August",

9: "September",

10: "October",

11: "November",

12: "December",

}

// 定義一個slice是不需要指定長度的,指定了就是數組

//s := []int{0,1,2,3,4} // 這是slice定義

//s1 := [...]int{0,1,2,3,4} // 數組定義

//s2 := [3]int{1,2,3} // 數組定義

// 切片操作 s[i:j] 0 <= i <= j <= cap(s)

Q1 := months[1:4]

Q2 := months[4:7]

Q3 := months[7:10]

Q4 := months[10:]

Summmer := months[6:9]

fmt.Println(Q2, Q4)

fmt.Println(Q1, Q3)

fmt.Println(Summmer[:20])

// slice不支持直接比較,還是一樣需要調用bytes.Equal來進行比較。因為是對底層類型的間接引用(淺拷貝),還是指針值的修改。所以不方便比較

// append 向slice追加元素 注意重新分配內存和copy操作 cap = cap * 2

}

~~~

總結

以上是生活随笔為你收集整理的python slice类型_复合类型Slice python中的list的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。