首页 > 其他分享 >数据容器(序列)的切片 学会啦

数据容器(序列)的切片 学会啦

时间:2024-05-28 13:57:49浏览次数:14  
标签:容器 下标 list 切片 print 步长 序列 my

1.序列

内容连续、有序,可使用下标索引的数据容器。(列表、元组、字符串都可以称为序列)

2.切片

从一个序列中取出一个子序列。

3.语法:

序列[起始下标:结束下标:步长]

4.从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列:

·起始下标表示从何开始,可以留空(表示从头开始)

·结束下标(不含)表示何处结束,可以留空(表示截取到结尾)

·步长表示,依次取元素的间隔

    ·步长1表示:一个个取元素

    ·步长2表示:每次跳过一个元素取

    ·步长N表示:每次跳过N-1个元素取

    ·步长为负数表示:反向取(起始下标和结束下标也要反向标记)

⚠️此操作不会影响序列本身,而是会得到一个新的序列

# 对list进行切片,从1开始,4结束,步长1
my_list = [0, 1, 2, 3, 4, 5, 6]
result1 = my_list[1:4:1]  # 步长默认是1,可以省略不写my_list[1:4]
print(f"结果1: {result1}")

结果1: [1, 2, 3]



my_tuple = (0, 1, 2, 3, 4, 5, 6)
result2 = my_tuple[:]  # 起始和结束不写表示从头到尾,步长1可以省略
print(f"结果2: {result2}")

结果2: (0, 1, 2, 3, 4, 5, 6)


# 对str进行切片,从头开始,到最后结束,步长2
my_str = "01234567"
result3 = my_str[::2]
print(f"结果3: {result3}")

结果3: 0246


# 对str进行切片,从头开始,到最后结束,步长-1
my_str = "01234567"
result4 = my_str[::-1]
print(f"结果4: {result4}")

结果4: 76543210


# 对list进行切片,从3开始,1结束,步长-1
my_list = [0, 1, 2, 3, 4, 5, 6]
result5 = my_list[3:1:-1]
print(f"结果5: {result5}")

结果5: [3, 2]


# 对tuple进行切片,从头开始,到最后结束,步长-1
my_tuple = (0, 1, 2, 3, 4, 5, 6)
result6 = my_tuple[::-1]
print(f"结果6: {result6}")

结果6: (6, 5, 4, 3, 2, 1, 0)


完结

标签:容器,下标,list,切片,print,步长,序列,my
From: https://blog.csdn.net/weixin_47515798/article/details/139264163

相关文章

  • 序列化与反序列化(GO)
    GO序列化与反序列化定义序列化:把对象转化为可传输的字节序列的过程称为序列化反序列化:把字节序列还原为对象的过程称为反序列化。--作为开发者,序列化和反序列化一直是我们老生常谈的问题,也是非常琐碎但是重要的知识点。对于序列化与反序列化,我这里强烈推荐一篇博客,你可以从中......
  • 从零开始写 Docker(十六)---容器网络实现(上):为容器插上”网线”
    本文为从零开始写Docker系列第十六篇,利用linux下的Veth、Bridge、iptables等等相关技术,构建容器网络模型,为容器插上”网线“。完整代码见:https://github.com/lixd/mydocker欢迎Star推荐阅读以下文章对docker基本实现有一个大致认识:核心原理:深入理解Docker核心......
  • 容器基础-- namespace,Cgroup 和 UnionFS
    Namespace什么是Namespace?这里的“namespace”指的是Linuxnamespace技术,它是Linux内核实现的一种隔离方案。简而言之,Linux操作系统能够为不同的进程分配不同的namespace,每个namespace都具有独立的资源分配,从而实现了进程间的隔离。如果你的Linux安装了GCC......
  • 容器启动流程(containerd 和 runc)
    启动流程containerd作为一个api服务,提供了一系列的接口供外部调用,比如创建容器、删除容器、创建镜像、删除镜像等等。使用docker和ctr等工具,都是通过调用containerd的api来实现的。kubelet通过cri调用containerd和这些不一样,后续我会介绍到。containerd......
  • python容器,字符串,列表,元组,字典介绍和常规操作
    在Python中,常见容器有:(1)字符串:str(2)列表:list(3)元组:tuple(4)字典:dict#容器#列表[]#list1=[1,2,3,4,5,6,7,8,9]可以增删改查#元组()#tuple1=(1,2,3,4,5,6,7,8,9)只能查,不能改#字典{}#dict1={1:1,2:2,3:3,4:4,5:5,6:6,7:7}#集合{}#set1={1,2,3,4,5,6,7,8,9}......
  • C# 判断当前是否在容器中运行
    可以在容器中执行命令,查看到信息/egrep'^1:.+(docker|lxc|kubepods)'/proc/1/cgroup那么我们可以通过读取文件的方法,去分析是否在容器中运行。代码如下///<summary>///是否在容器中运行///</summary>///<returns>......
  • 【简单介绍下容器是什么?】
    ......
  • .NET8序列化与反序列化
    序列化与反序列化JSON简介JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,采用类的形式来描述数据之间的关联关系。JSON是一个序列化的对象或数组。JSON中仅有六个构造字符([、]、{、}、:、,),以及无意义的空白符(换行、空间等)JSON中的数据类型:对象(使用{})、数组(使用[])、......
  • Weblogic T3协议反序列化漏洞[CVE-2018-2628]
    漏洞复现环境搭建请参考http://t.csdnimg.cn/TYtKgkali切换jdk版本请参考Kali安装JAVA8和切换JDK版本的详细过程_kali安装jdk8-CSDN博客漏洞原理T3协议实现Weblogicserver和其他java程序间的数据传输,Weblogic开放7001端口则默认开启T3服务,通过构造恶意的T3协议数据,利用......
  • C# xml文档反序列化记事
    可以使用XmlSerializer直接序列化和反序列化xml反序列化如以下代码privateT?XmlDeseriallize<T>(stringfilePath){XmlSerializerserializer=newXmlSerializer(typeof(T));using(FileStreamfileStream=newFileStream(f......