当前位置: 首页 > news >正文

slice在Python和Go中的异同

Go中也有slice,虽然和Python中的slice同名,但有很大的不同。

Python中的slice侧重于从序列中提取子序列,而Go的slice则是一种动态数组的实现。

1、Python中的slice

基本语法

sequence[start:stop:step]# 示例
lst = [0, 1, 2, 3, 4, 5]
sublist = lst[1:4]    # [1, 2, 3]
reverse = lst[::-1]   # [5, 4, 3, 2, 1, 0]

在python中,slice是一种操作序列的方法(注意这里和go的区别),返回的对象是原序列的浅拷贝,适用于所有的序列类型,比如list、tuple、str、bytes。

# Python 切片的多样性
text = "hello"
print(text[1:4])     # "ell"
print(text[::2])     # "hlo"
print(text[::-1])    # "olleh"# 切片对象
my_slice = slice(1, 5, 2)
lst = [0, 1, 2, 3, 4, 5]
print(lst[my_slice]) # [1, 3]

2、Go中的slice

在go中,slice是一种数据结构

var slice []int                    // 声明切片
slice := make([]int, 5)           // 创建切片
slice := []int{1, 2, 3, 4, 5}     // 字面量// 从数组创建切片
arr := [5]int{1, 2, 3, 4, 5}
slice := arr[1:4]                 // [2, 3, 4]

底层是引用的数组,修改切片,底层的数组也会影响;slice可以使用append动态增长。

package mainimport "fmt"func main() {// 展示 slice 的底层数组共享arr := [5]int{1, 2, 3, 4, 5}slice1 := arr[1:4]  // [2, 3, 4]slice2 := arr[2:5]  // [3, 4, 5]// 修改 slice1 会影响底层数组和 slice2slice1[0] = 99fmt.Println(arr)    // [1, 99, 3, 4, 5]fmt.Println(slice1) // [99, 3, 4]  fmt.Println(slice2) // [3, 4, 5] - 注意这里不受影响,因为 slice2 从索引2开始
}

我有一个秘密基地,那里存放着我的“不务正业”,这里没有技术,只有故事和观点。 

gzh搜索:刘墨泽

http://www.dtcms.com/a/582018.html

相关文章:

  • 科技公司网站设计公司天津定制开发网站
  • 3 个近期 yyds 的 AI 开源项目, 有点绝。
  • 智启未来 共筑开放新生态——2025进博会人工智能亮点纷呈
  • python函数及面向过程高级特性
  • python+django/flask的莱元元电商数据分析系统_电商销量预测
  • Git分支创建与推送全攻略
  • python+django/flask基于Echarts+Python的图书零售监测系统设计与实现(带大屏)
  • 获取网站访问qq承德网站建设制作
  • 运用阿里云怎么做网站网站建设内容介绍
  • Redis_7_hash
  • 建站行业有前途个人主页网页设计案例
  • 数据分析报表如何选?详解 DataEase 四大表格:明细表、汇总表、透视表与热力图的适用场景与选择策略
  • 建立电商网站克拉玛依燃气公司主页
  • 关于从嘉立创导入元器件的原理图和封装到 Cadence 保姆级教程
  • 成都网站建设及推广谷歌浏览器引擎入口
  • 详解:长连接/短连接/Cookie/Session/WebSocket
  • 如何选择两种缓存更新策略(写缓存+异步写库;写数据库+异步更新缓存)
  • pcl::ProjectInliers功能介绍,分别对平面、直线、圆、圆柱提供详细范例及可视化展示
  • ftp网站建立wordpress数据导出
  • 赣州瑞金网站建设网站推广公司成功的经典案例
  • 11.7 LeetCode 题目汇总与解题思路
  • Golang 开发Prometheus 自定义 Exporter
  • 找效果图的网站哪个好ps做网站框架搭建
  • 做平面设计的网站有哪些深圳市福田区公司
  • 2026年新疆职业院校技能大赛GZ073网络系统管理赛项模块A:网络构建真题
  • JavaScript基础入门
  • 软考中级软件设计师(上午题)/ 上
  • 京东淘宝网站是怎么做的历史街区和历史建筑信息平台
  • 泉州市住房和乡村建设网站网页设计个人
  • 【Linux】网络层与数据链路层中重点介绍