Python基础(三)
文章目录
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为负数,下标选取反向从数组长度-1到0。 当i或j省略或是None值,则被端下标(0或len(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 打包的结果有多少个字节。