首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏瓜大三哥

    Slice Description

    Xilinx Slice 基本单元情况 每个 Slice 包含 Four logic-function generators (or look-up tables) Eight storage elements 此外,有些 Slice 还支持两个附加功能:使用分布式 RAM 存储数据和使用 32 位寄存器移位数据。支持这些附加功能的 Slice 称为 SLICEM ;其他切片称为 SLICEL 。 上图所示的是这两种 Slice 在芯片上的布局。

    1.2K41发布于 2021-02-24
  • 来自专栏海风

    Slice Sampler

    我们重新考虑了仿真的理论基础,建立了Slice Sampler。 考虑到[MCSM]伪随机数和伪随机数生成器中提到的产生服从f(x)密度分布随机数等价于在子图f上产生均匀分布,即 ? 2. 2D slice sample 有很多方法实现在集合上的"random walk",最简单的就是一次改变一个方向上的取值,每个方向的改变交替进行,由此得到的算法是 2D slice sampler General Slice Sampler 有时候面临的概率密度函数不会那么简单,此时面临的困难主要在于无法在第二次更新的时候找到集合 ? 的范围。 ---- Slice Sampler 1. ? 2. ? ,其中 ? ---- 看着挺高级好用的,实际上也只是能用的,一是 ?

    1.2K20发布于 2019-09-11
  • 来自专栏计算机视觉理论及其实现

    tf.strided_slice

    def strided_slice(input_, begin, end, strides=None shrink_axis_mask=0, var=None, name=None):"""Extracts a strided slice [ [3,3,3] [4,4,4] ] [ [5,5,5] [6,6,6] ]]以tf.strided_slice tensorflow as tfdata = [[[1, 1, 1], [2, 2, 2]],[[3, 3, 3], [4, 4, 4]],[[5, 5, 5], [6, 6, 6]]]x = tf.strided_slice

    74830编辑于 2022-09-02
  • 【Golang】--- Slice

    Go语言切片(Slice) 在Go语言中,切片(Slice)是最常用的数据结构之一,它作为动态数组的实现,解决了数组长度固定的局限性,同时保留了数组的高效性。 一、切片的本质:为什么需要切片? 而切片(Slice) 作为数组的"视图",本质是一个包含三个字段的结构体: 指针(Pointer):指向底层数组的起始位置 长度(Length):切片当前包含的元素个数(len() 函数获取) 容量(Capacity 4.2 切片的扩容规则:Go 1.18前后的差异 切片的扩容规则由Go语言 runtime 源码(src/runtime/slice.go)定义,不同版本有细微差异,以下分别讲解。

    25610编辑于 2026-01-09
  • 来自专栏软件

    Slice(切片)

    什么是Slice(切片)? 、容量、内容 fmt.Printf("len=%d cap=%d slice=%v\n", len(slice1), cap(slice1), slice1) len=2 cap=5 slice=[0 slice1 = append(slice1, 1, 2, 3) // len=3 cap=3 slice=[1 2 3] printSlice(slice1) 复制切片元素至另一个切片 // 创建一个大小容量一样的切片 , 将数据复制到新的切片中 slice2 := make([]int, len(slice1), cap(slice1)) copy(slice2, slice1) printSlice(slice2) slice=[1 3 7] [9 3 7 2 5] len=3 cap=5 slice=[9 3 7]

    1.1K40编辑于 2022-08-18
  • 来自专栏solate 杂货铺

    slice 去重

    (map[int]bool) total := 0 for i, val := range *slice { if _, ok := found[val]; ! ok { found[val] = true (*slice)[total] = (*slice)[i] total++ } } *slice = (*slice)[:total i, val := range *slice { if _, ok := found[val]; ! ok { found[val] = true (*slice)[total] = (*slice)[i] total++ } } *slice = (*slice)[:total] } func UniqueSlice_3(slice *[]int) []int { found := make(map

    2.2K20发布于 2019-07-22
  • 来自专栏程序员奇点

    Go Slice 原理

    如何创建slice 创建方式 代码示例 直接声明 var slice []int new slice :=*new{[]int} 字面量 slice := []int{1,2,3,4,5} make slice nil slice 和 空 slice 是有区别的 ? slice 扩容源码 当原 slice 容量小于 1024 的时候,新 slice 容量变成原来的 2 倍;原 slice 容量超过 1024,新 slice 容量变成原来的1.25倍。 其实意思是, 传 sliceslice 指针,如果对 slice 数组里面的数据做修改,都会改变 slice 底层数据 传 slice 是拷贝,在内部修改,不会修改 slice 的结构, len 要想真的改变外层 slice,只有将返回的新的 slice 赋值到原始 slice,或者向函数传递一个指向 slice 的指针。

    1.1K20发布于 2021-07-27
  • 来自专栏Go学习

    slice 使用小结

    int{1, 2, 3} fmt.Println(s) // 输出: [1 2 3]}二、切片的底层结构切片的本质是一个结构体,包含:一个指向底层数组的指针长度(len)容量(cap)type slice

    30810编辑于 2025-07-10
  • 来自专栏solate 杂货铺

    slice uitl 笔记

    这个主要是处理slice,数组等,欢迎补充和点赞。 判断元素在slice中的另一种方法 func main() { var keys = []string{"key", "test"} var isIn bool strTmp := strings.Join 中 推荐使用基础类型,也就是使用下面的变种类型 /** 元素是否在slice中 如果在exists返回true, index返回第几个元素 */ func InArray(val interface{ bool, index int) { exists = false index = -1 switch reflect.TypeOf(array).Kind() { case reflect.Slice slice { if v == value { result = append(result, slice[index:k]...)

    71310发布于 2019-07-22
  • 来自专栏LinkinStar's Blog

    Golang的slice

    slice对于golang来说那真的是一个非常常用的东西了,很多地方都会用到它,今天就来说说,slice底层是如何实现的,又有哪些坑是需要提前注意的。 type slice struct { array unsafe.Pointer len int cap int } 上面这个就是slice的结构,顺便说一下:slice的源码位置是: go /src/runtime/slice.go 其中array是一个指针,指向底层的数组 len代表slice的长度 cap代表slice的容量 为什么会有长度和容量这个区分呢,这两个东西是用来干什么的呢? slice的扩容 刚才提到的整个过程就是扩容的原因,那么slice究竟是如何进行扩容的呢? slice作为参数进行传递的时候,还有slice进行append的时候注意一下,别的应该没有问题。总的来说slice的实现还是比较简单的。

    61220编辑于 2022-09-01
  • 来自专栏code人生

    Golang slice简介

    简介 Go语言中的切片(slice)是一种灵活的数据结构,它构建在数组之上并提供了方便的方式来操作数组的一部分。切片的底层实现涉及到数组和一些元数据。 2.切片结构体(Slice Struct):•切片实际上是一个结构体,包含了三个字段:指向底层数组的指针、切片的长度和切片的容量。 slice扩容 切片(slice)是一种动态数组,它可以自动扩容以适应存储更多元素。

    46910编辑于 2023-10-25
  • 来自专栏积跬Coder

    ​Golang切片(Slice)

    $GOROOT/src/runtime/slice.go 内存分配部分,重点部分 newcap := old.cap doublecap := newcap + newcap if cap

    1.1K20发布于 2020-12-18
  • 来自专栏码农桃花源

    几个常见的 slice 错误

    修复 解决办法很简单,从老 slice 拷贝一个新 slice,这样对老 slice 的修改就不会影响新 slice。 因为 append 之后会形成一个新的 slice,原 slice 不会变。 修复 将形参 slice,改成指针类型:*slice,并且将 append 之后得到的 slice 赋给这个指针。 因为循环变量只是 slice 元素的一个拷贝,修改循环变量并不能影响原来的 slice。 修复 想要修改原 slice,用切片下标来访问 slice 元素并做修改。 假如原 slice 的容量恰好够用,那么这些新创建的 slice 和最后创建出来的 slice 内容相同。 修复 明确指定长度来创建一个新 slice,并使用 copy 将原 slice 拷贝到新 slice。之后,将元素 append 到新 slice

    67930编辑于 2022-03-29
  • 来自专栏从流域到海域

    Python 切片(Slice)

    i < len; i += 2) { //即从0开始,每2个取一个 也即取偶数位元素 cout << array[i] << endl; } Python为了简便这些常见操作,提供了切片(slice Python 切片(Slice) 格式(以list为例): #a是起始索引,b是结束索引,因为python支持负数索引,所以a、b可以小于0 l[a:b] #意为取从a到b但不包括b的元素

    1.4K100发布于 2018-02-05
  • 来自专栏计算机视觉理论及其实现

    tf.slice

    tf.slice( input_, begin, size, name=None)这个操作从begin指定的位置开始,从张量输入中提取一个大小为size的切片。 1], [2, 2, 2]], [[3, 3, 3], [4, 4, 4]], [[5, 5, 5], [6, 6, 6]]])tf.slice (t, [1, 0, 0], [1, 1, 3]) # [[[3, 3, 3]]]tf.slice(t, [1, 0, 0], [1, 2, 3]) # [[[3, 3, 3], # [4, 4, 4]]]tf.slice(t, [1, 0, 0], [2, 1, 3]) # [[[3, 3, 3]], #

    83620编辑于 2022-09-03
  • 来自专栏陶士涵的菜地

    理解切片slice扩容

    2021/05/08 18:18:27 长度:4,容量:4 2021/05/08 18:18:27 长度:5,容量:8

    73230发布于 2021-05-11
  • Slice 切片原理

    sliceslice :=make([]int,5,10),底层指向的就是一个长度为10的数组,该slice 长度为5 ,可以使用slice[0]~slice[4]来操作元素,capacity为10,表示后续想slice slice 的数据拷贝进新的slice ,然后返回新的slice 扩容原则如果原Slice容量小于1024,则新Slice容量将扩大为原来的2倍如果原slice 大于等于1024 扩大为原来的1.25倍 append 的实现步骤假如Slice容量够用,则将新元素追加进去,Slice.len++,返回原SliceSlice容量不够,则将Slice先扩容,扩容后得到新Slice将新元素追加进新SliceSlice.len++,返回新的Slice

    29700编辑于 2025-05-26
  • 来自专栏Golang语言社区

    Go 语言切片(Slice)

    或使用make()函数来创建切片: var slice1 []type = make([]type, len)也可以简写为slice1 := make([]type, len) 也可以指定容量,其中capacity =%v\n",len(x),cap(x),x)} 以上实例运行输出结果为: len=3 cap=5 slice=[0 0 0] ---- 空(nil)切片 一个切片在未初始化之前默认为 nil,长度为 cap=9 slice=[0 1]len=3 cap=7 slice=[2 3 4] ---- append() 和 copy() 函数 如果想增加切片的容量,我们必须创建一个新的更大的切片并把原分片的内容都拷贝过来 =%v\n",len(x),cap(x),x)} 以上代码执行输出结果为: len=0 cap=0 slice=[]len=1 cap=2 slice=[0]len=2 cap=2 slice=[0 1 ]len=5 cap=8 slice=[0 1 2 3 4]len=5 cap=16 slice=[0 1 2 3 4]

    1K90发布于 2018-03-22
  • 来自专栏从流域到海域

    Go语言切片(Slice)

    slice lengtn=%d slice capacity=%d", slice, len(slice), cap(slice)) } // slice = [0 0 0] slice lengtn (slice) slice_copy := make([]int, len(slice), (cap(slice)*2)) copy(slice_copy, slice) printSliceInfo 1:3:4] printSliceInfo(slice) slice = append(slice, 6) printSliceInfo(slice) slice = append(slice (slice) slice = append(slice, 7) printSliceInfo(slice) } // current slice=[2 3] length=2 capacity Slice扩容机制 Slice如何扩容的呢?

    90910发布于 2020-12-22
  • 来自专栏bit哲学院

    Python标准库:内置函数slice(stop) slice(start, stop)

    参考链接: Python slice() 本函数是实现切片对象,主要用在切片操作函数里的参数传递。  例子:  # 返回三个数,第一个是切片的起始位置,第二个是切片的结束位置,第三个是切片的间距  >>> myslice = slice(5) >>> myslice slice(None, 5, None arr [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]  # 下面语句返回的是前5个元素 >>> arr[myslice] [0, 1, 2, 3, 4]   # 注意返回值  >>> slice (2, 5) slice(2, 5, None) >>> slice(2, 5, 1) slice(2, 5, 1) >>> slice(None) slice(None, None, None)

    1K20发布于 2021-01-25
领券