python 数组操作中的 “:” “:: ” “, ” python 中的 [:-1] 和 [::-1] [-1:-2:-1] [

python 数组操作中的 “:” “:: ” “, ” python 中的 [:-1] 和 [::-1] [-1:-2:-1] [使用 python 版本 3 7 首先先了解下 python3 7 中的下标 python 下标有两套 一套是正的 一套是负的 a python 中的 python 的下标可以如下组 python 正下标 012345 负下标 6 5 4 3 2 1 对应位置的正下标 负下标 len a 使用正下标时 下标 i

使用python版本3.7 首先先了解下python3.7中的下标,python下标有两套,一套是正的,一套是负的 引入负坐标的意义应该是方便将数组中的数据从右往左访问。 a='python'中的python 的下标描述如下 组 p y t h o n 正下标 0 1 2 3 4 5 负下标 -6 -5 -4 -3 -2 -1 对应位置的正下标减去负下标等于len(a) :正下标-负下标=len(a) 使用正下标时,下标i取值范围为0 <= i < len(a) 超出范围为越界,i大于len(a)表示越(数轴)右界 使用负下标时,下标i取值范围为-len(a)-1 < i <=-1 超出范围为越界,i小于len(a)表示越(数轴)左界 数组操作中一般通过 “:” 和数字或变量的组合来灵活使用里面的元素 第一个“:” 表示循环,第二个“:” 表示设定后面数字为步长。比如i:j:k,表示从i到j步长为k,逐个顺次获取。i到j满足左闭右开原则 。 没有冒号表示正常的数组单个元素访问;没有第二个冒号就表示默认的步长为1,从i到j左开右闭步长为1逐个访问。 1、k缺省(忽略未写出的默认值)为1;当k>0时,i缺省为0,j缺省为len(a) ; 当k<0时,i缺省为-1,j缺省为-len(a)-1。 2、当k>0时,可以将i,j全转换成正下标去理解。 当i或j为正且越正数下标右界时,越界的数全部取正下标右界len(a)。 当i或j为负且越负数下标的左界时,越界的数全部取左界前的有效值-len(a),然后再转换成正下标,转换规则为:正下标=len(a)+负下标。   3、当k<0是,可以将i,j全部转换成负下标去理解。 当i或j为负且越负数下标左界时,越界的数全部取负下标左界-len(a)-1。 当i或j为正且越正数下标右界时,越界的数全部取右界前的有效值len(a)-1,然后再转换为负下标,转换规则为:负下标=正下标-len(a)。 4、k不能等于0。 对于循环操作中下标的操作应该先处理越界,然后再根据的正负转换成对应的正负坐标。 a='python' #len(a)=6 i=1 j=4 k=1 b=a[i:j:k] #结果为yth 。意思为从下标i个开始到下标j-1结束,步长为k,(k为整数且不能等于0,缺省为1),第一个冒号满足左闭右开原则 。 b=a[i] #结果为y ,无冒号,表示普通的数组单个元素访问,根据下标获取值。 b=a[-1] #结果为n。 b=a[-6] #结果为p。 b=a[i:j] #结果为yth,从i到j,步长为缺省(默认)1 b=a[0:6:1] #结果为python,第一个冒号满足左闭右开原则,等价于a[::] b=a[0:6:2] #结果为pto,步长为2,等价于a[::2] b=a[1:6:3] #结果为yo,步长为3,等价于a[::3] b=a[0:3:1] #结果为pyt,第一个冒号满足左闭右开原则,下标为3的值是取不到的 b=a[0:5:1] #结果为pytho,第一个冒号满足左闭右开原则 b=a[0:7:1] #结果为python,等价于a[0:6:1],当第一个冒号右边的值大于len(a)时, b=a[0:100:1]#结果为python,此处正下标越界,等价于a[0:6:1],注意第一个冒号右边的100已经超越了正下标的右限。 b=a[6:100:1]#结果为空,等价于a[6:6:1],注意第一个冒号左右边都已经超越了正下标的右限 b=a[7:100:1]#结果为空,等价于a[6:6:1],注意第一个冒号左右边都已经超越了正下标的右限 b=a[-6:6:1] #结果为python,等价于a[0:6:1] b=a[-7:6:1] #结果为python,左闭右开,此处负下标越界,等价于a[-6:6:1]=a[0:6:1] b=a[-100:6:1]#结果为python,注意-100已经超过了负下标的左限,等价于a[-6:6:1]=a[0:6:1] b=a[-100:100:1]#结果为python,注意-100已经超过了负下标的左限,等价于a[-6:6:1]=a[0:6:1] b=a[-6:-1:1]#结果为pytho,等价于a[0:5:1],注意,-6转换成正坐标为0,-1转换为正坐标为5. b=a[-100:-1:1]#结果为pytho,注意-100已经超过了负下标的左限,等价于a[-6:-1:1]=a[0:5:1] b=a[0:-1:1]#结果为pytho,等价于a[0:5:1] b=a[0:-100:1]#结果为空,注意-100已经超过了负下标的左限,等价于a[0:-6:1]=a[0:0:1] b=a[0:-6:1] #结果为空,等价于a[0:0:1] b=a[0:-7:1] #结果为空,等价于a[0:0:1] b=a[:j] #结果为pyth。k缺省(默认)为1,k大于0时,i缺省(默认)为0,j缺省(默认)为len(a) b=a[i:] #结果为ython,表示从下标i开始到最后一个(下标为len(a)-1) b=a[:] #结果为python,等价于a[0:6:1],表示从下标0开始到最后一个结束,步长为1。 b=a[::] #结果为python。等价于a[0:6:1]。a[i:j:k]中,k缺省为1,当k大于0时,i缺省为0,j缺省为len(a)。 b=a[::10] #结果为p。等价于a[0:6:10]。a[i:j:k]中,当k大于0时,i缺省为0,j缺省为len(a) k为负,表示从右往左顺次获取数组中的值,转换成负下标后,-len(a)-1<=j 
   
     b=a[i:j:-1] #结果为空,等价于a[1:4:-1]=a[-5:-2:-1] b=a[-1:-7:-1]#结果为nohtyp,第一个冒号满足左闭右开原则。 b=a[-1:-100:-1]#结果为nohtyp,负下标越界,等价于a[-1:-7:-1] b=a[4:0:-1] #结果为ohty,k为负数,将i,l转换成负下标理解,等价于a[-2:-6:-1],注意4转换成负下标为-2,0转换成负下标为-6 b=a[4:-1:-1]#结果为空,可以理解为a[-2:-1:-1] b=a[4:-100:-1]#结果为ohtyp,k为负,将i转成负下标理解,同时j越界,等价于a[-2:-100:-1]=a[-2:-7:-1] b=a[-1:0:-1]#结果为nohty,可以理解为a[-1:-6:-1] b=a[0:-1:-1]#结果为空,可以理解为a[-6:-1:-1] b=a[0:-2:-1]#结果为空 ,可以理解为a[-6:-2:-1] b=a[-2:0:-1]#结果为ohty,可以理解为a[-2:-6:-1] b=a[-1:6:-1]#结果为空,可以理解为a[-1:5:-1]=a[-1:-1:-1] b=a[-1:100:-1]#结果为空,可以理解为a[-1:5:-1]=a[-1:-1:-1] b=a[6:100:-1]#结果为空,可以理解为a[5:5:-1]=a[-1:-1:-1] b=a[4:100:-1]#结果为空,可以理解为a[4:5:-1]=a[-1:-1:-1] b=a[100:100:-1]#结果为空,可以理解为a[5:5:-1]=a[-1:-1:-1] b=a[100:4:-1]#结果为n,可以理解为a[5:4:-1]=a[-1:-2:-1] b=a[100:-100:-1]#结果为nohtyp,可以理解为a[5:-7:-1]=a[-1:-7:-1] b=a[100:0:-1]#结果为nohty,可以理解为a[5:0:-1]=a[-1:-6:-1] b=a[-100:100:-1]#结果为空,可以理解为a[-7:6:-1]=a[-7:-1:-1] b=a[:-1] #结果为pytho ,等价于a[0:5:1] b=a[::-1] #结果为nohtyp,等价于a[-1:-len(a)-1:-1] = a[-1:-7:-1] 
    

String(字符串)

t = string
string可以用‘’或“”圈起来

>>> t=Hello World!
>>> t=Hello World!

>>> t[0]
H 
>>> t
Hello World!






List(链表)

t = [value,value…]
value类型可以各异

>>> t={
abac, ggg, 2,[1,2,3],(1,22,3)}

>>> t[0]
abac 

Tuple(元组)

t = (value,value…)
value类型可以各异,但是Tuple元素数量不能减少,且不能直接给元素赋值,具体看连接

>>> t=(abac, ggg, 2,[1,2,3],(1,22,3))

>>> t[0]
abac 

Dictionary(字典)

t = {key1 : value1, key2 : value2}

>>> t = {
a: 1, b: 2, b: 3}

>>> t[b] 
3 
>>> t
{
a: 1, b: 3}






Set(集合)

t={value1,value2}或者
t=set(value)

>>>basket = {
apple, orange, apple, pear, orange, banana}

>>> print(basket) # 这里演示的是去重功能 

{
orange, banana, pear, apple}

>>> orange in basket # 快速判断元素是否在集合内 

True 

>>> crabgrass in basket 

False

Numpy.array(数组)

t = [value,value…]

value类型必须一致,要么都是数字,要么都是链表,要么都是字符串

>>> t = np.random.rand(3,4)

>>> t
array([[0., 0., 0., 0.],

       [0., 0., 0., 0.0],

       [0., 0., 0., 0.]])

Numpy.mat(矩阵)

t = [value,value…]

value类型必须一致,要么都是数字,要么都是链表,要么都是字符串。与array的区别在初始化与操作上的区别,需要可以去做相关搜索 或看

链接

>>> t = np.random.rand(3,4)
>>> t=np.(t)

>>> t
array([[0., 0., 0., 0.],

       [0., 0., 0., 0.0],

       [0., 0., 0., 0.]])

import numpy as np a=[['1','2','3','4','5','6'],['a','b','c','d','e','f']] print(a) print(type(a)) #print(a[:,:3]) #TypeError: list indices must be integers or slices, not tuple #对python的list,tuple,array 操作时逗号被单纯的当做一个tuple,操作中没有意义 a = np.mat(a) #对python中的numpy中的mat或者array操作时,逗号用于作为不同维度的操作描述的间隔符。 print(a) print(type(a)) print(a[:,:3]) #获取所有行的前3列

python 数组操作中的 “:” “:: ” “, ” python 中的 [:-1] 和 [::-1] [-1:-2:-1] [

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218259.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午7:41
下一篇 2026年3月18日 上午7:41


相关推荐

  • layui弹出层的icon

    layui弹出层的icon1.layer.msg(‘弹出层’,{icon:1});2.layer.msg(‘弹出层’,{icon:2});3.layer.msg(‘弹出层’,{icon:3});4.layer.msg(‘弹出层’,{icon:4});5.layer.msg(‘弹出层’,{icon:5});6.layer.msg(‘弹出层’,{ico…

    2022年5月7日
    48
  • Redis的数据类型(四)—— Sortedset数据类型

    Redis的数据类型(四)—— Sortedset数据类型**Sortedset数据类型**一、redissortedset介绍在集合类型的基础上,有序集合类型为集合中的每个元素都关联一个分数,这使得我们不仅可以完成插入、删除和判断元素是否存在在集合中,还能够获得分数最高或最低的前N个元素、获取指定分数范围内的元素等与分数有关的操作。在某些方面有序集合和列表类型有些相似。1、二者都是有序的。2、二者都可以获得某一范围的元素。但是,二者…

    2022年10月20日
    6
  • 如何优化即梦AI图像清晰度:调整画面锐度的详细步骤指南

    如何优化即梦AI图像清晰度:调整画面锐度的详细步骤指南

    2026年3月12日
    3
  • css修改导航条样式

    css修改导航条样式css 修改导航条样式近期由于工作需要要修改 table 表格导航条样式 本人特整理出相关代码 以及最后效果 供各位小伙伴参考 具体代码如下 xp table content webkit scrollbar width 8px height 8px xp table content webkit scrollbar thumb horizontal border radius 10px background rgba 0 0 0 0

    2026年3月17日
    2
  • 怎样使用 iOS 7 的 AVSpeechSynthesizer 制作有声书(1)[通俗易懂]

    怎样使用 iOS 7 的 AVSpeechSynthesizer 制作有声书(1)

    2022年1月20日
    62
  • 手机的屏幕分辨率_手机屏幕分辨率尺寸

    手机的屏幕分辨率_手机屏幕分辨率尺寸  什么是分辨率?说白了,分辫率高,屏幕显示就更清晰、更细腻。分辨率不高,屏幕显示就会有颗粒感,粗糙感。一句话:分辨率是屏幕显示清晰度的一个指标。现在手机常用的分辫率有:128*160、176*220、240*320。128*160多用在低档的手机。中档的手机一般分辨率为176*220。中高档手机分辨率多为:240*320。夏普现在有一款手机分辨率达到了480*640。比电脑显示屏还清晰

    2022年8月13日
    13

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号