Python语法(三)

Python基础(三)

文章目录

  • Python基础(三)
    • 1、Python 中[::] 与 [:,:,i] 的用法
      • ①[:]的用法( 从下标i到下标j,截取序列s中的元素。 )
      • ②[::]的用法( 从下标i到下标j,步数为k,截取序列s中的元素。 )
    • 2、 **struct 模块**
      • ①pack 函数
      • ② unpack 函数
      • ③ calsize 函数

1、Python 中[::] 与 [:,:,i] 的用法

①[:]的用法( 从下标i到下标j,截取序列s中的元素。 )

  • a[i:j]
    如果i为负数,则从序列尾部开始(负数倒过来)
    如果j为负数,则从序列首部开始
    
    若i或j大于数组长度,则i或j被数组长度取代。
    若i省略或i是None值,则i被0取代。
    若j省略或j是None值,则j被数组长度取代。
    若i>=j,返回没元素的序列。
    
  • >>> a=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> a[-1:]
    [9]
    >>> a[:-9]
    [0]
    >>> a[:-8]
    [0, 1]
    >>> a[-9:-1]
    [1, 2, 3, 4, 5, 6, 7, 8]
    >>> a[1:20]
    [1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> a[:9]
    [0, 1, 2, 3, 4, 5, 6, 7, 8]
    >>> a[0:]
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> a[9:3]
    []
    >>>a[0:-7]
    [0, 1, 2]
    
    

②[::]的用法( 从下标i到下标j,步数为k,截取序列s中的元素。 )

  • a[i:j:k]
    如果i为负数,则从序列尾部开始(负数倒过来)
    如果j为负数,则从序列首部开始
    
    当k为正数,下标选取反向从0到数组长度-1。
    当k为负数,下标选取反向从数组长度-10。
    当i或j省略或是None值,则被端下标(0len(s)-1)所取代(具体看k的正负符号)。
    k不能为0。若k为None值,则将k看成1
  • >>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> a[1:10:2]
    [1, 3, 5, 7, 9]
    >>> a[1:10:3]
    [1, 4, 7]
    >>> a[1:10:-2]
    []
    >>> a[1:10:-3]
    []
    >>> a[10:1:-2]
    [9, 7, 5, 3]
    >>> a[10:1:-3]
    [9, 6, 3]
    >>> a[::2]
    [0, 2, 4, 6, 8]
    >>> a[::-2]
    [9, 7, 5, 3, 1]
    >>> a[::-1]
    [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
    >>> a[-9:-1:2]
    [1, 3, 5, 7]
    >>> a[-9:-1:-2]
    []
    >>> a[-1:-9:-2]
    [9, 7, 5, 3]
    >>> a[-1::-2]
    [9, 7, 5, 3, 1]
    >>> a[:-1:2]
    [0, 2, 4, 6, 8]
    >>>
    

2、 struct 模块

Python 提供了三个与 pack 和 unpack 相关的函数

①pack 函数

struct.pack(fmt, v1, v2, ...)
#第一个函数 pack 负责将不同的变量打包在一起,成为一个字节字符串。

② unpack 函数

struct.unpack(fmt, string)
#第二个函数 unpack 将字节字符串解包成为变量。

③ calsize 函数

struct.calcsize(fmt)
#第三个函数 calsize 计算按照格式 fmt 打包的结果有多少个字节。

你可能感兴趣的:(python,开发语言,其他)