一.列表

1. 列表:

列表的创建:li = [],列表中可以放置字符串,元组,列表,字典,列表等各种数据类型,32位的Python可以存放2^32个数据

2. 列表的索引和切片

列表的索引:格式lst = [元素,元素....元素]  print(lst[index])index是对应列表中元素的下标,切记index从0开始;

代码展示:

 lst = ["周杰伦", "王力宏", "周润发","成龙","李连杰"]
lst[1] = "周星驰"
print(lst)
#输出 ["周杰伦", "周星驰", "周润发","成龙","李连杰"] #这里赋值的变量可以为其他类型变量,列表,元组,字典都可以
lst = ["周杰伦", "王力宏", "周润发","成龙","李连杰"]
lst[1] = 1
print(lst)
#输出 ["周杰伦", 1, "周润发","成龙","李连杰"]

list列表赋值

列表的切片:和字符串一样,格式为[起始位置:结束位置:步长默认为1时]

代码展示:

 lst = ["马化腾","王江林","太白", "五色", "银王", "日天"]
lst[1:3] = "马化腾" # 迭代修改(深坑请留意)
print(lst)
#输出结果:['马化腾', '马', '化', '腾', '五色', '银王', '日天'] lst = ["马化腾","王江林","太白", "五色", "银王", "日天"]
lst[1:3] = ["马化腾"] # 这里马化腾才会整体添加到列表中
print(lst)
#输出结果:['马化腾', '马化腾', '五色', '银王', '日天']

列表切片修改

列表的切片:[]步长不为1时

代码展示:

 lst = ["马化腾","王江林","太白", "五色", "银王", "日天"]
lst[::2] = ["周杰伦", "他媳妇"] # 这里是两个元素
print(lst)
#输出结果:
lst[::2] = ["周杰伦", "他媳妇"] # 迭代修改
ValueError: attempt to assign sequence of size 2 to extended slice of size 3
报错:因为你步长截取了三个元素,而你替换的只有两个元素,所以会报错! lst = ["马化腾","王江林","太白", "五色", "银王", "日天"]
lst[::2] = ["周杰伦", "他媳妇", "王力宏媳妇"] # 这里是三个元素
print(lst)
#输出结果:['周杰伦', '王江林', '他媳妇', '五色', '王力宏媳妇', '日天']
所以不管你替换的什么,替换的元素个数跟步长截取的个数一致!
例如:lst[::2] = 112,222,333
st[::2] = "sdt"
st[::2] = "fkd","fd","d"
st[::2] = 1,2,3
st[::2] = None.None,None

步长不为1修改列表

3. 列表的其他操作

lst.sort()排序,默认时候升序,一般对数字好使,lst.sort(reverse = True)降序

lst.reverse()将列表翻转.

c = len(lst)列表的长度

4.列表的增删改查

增:

和字符串不一样,lst是可以发生改变的,所以直接在原来的对象上进行了操作

lst.append("元素")注意这里是自动添加到最后一位的;

lst.insert(index."元素")在index的位置添加元素,原来的元素向后移动一位;

lst.extend(元素)这里面元素可以是列表,元组,字典等,不能为数字,注意是迭代添加在末尾

删:

索引删除:list.pop(index)默认删除最后一个,这个是有返回值的,deleted = list.pop() deleted为被删除的元素

index为删除索引,你想要删除第几位,list.pop(index - 1)

指定元素删除:list.remove(指定元素)删除指定元素,没有返回值,不用赋值,如果删除不存在的元素会报错!

切片删除:del lst[起始位置:结束位置:步长]步长默认为1,范围删除,若步长不为1,参考上述讲解!

改:

直接索引赋值修改,切片修改见上述2

查:

for c in lst: print(c) 这里相当于循环一次,列表中索引下标增加1找出元素赋值给c;

5.列表的嵌套

若列表中有嵌套列表:可以采用降维操作找到元素,

若元素为字符串,可以直接应用字符串的操作:

代码展示:

 lst = [1, "太白", "wusir", ["麻花疼", ["可口可乐"], "王剑林"]]
lst[2] = lst[2].capitalize()
print(lst)
#输出结果:[1, '太白', 'Wusir', ['麻花疼', ['可口可乐'], '王剑林']] print(lst[3][1][0])
lst[3][1].append("芬达")
print(lst)
#输出结果:可口可乐
[1, '太白', 'Wusir', ['麻花疼', ['可口可乐', '芬达'], '王剑林']]

列表嵌套

元组:

跟列表相似,但是元组是只读文件,不可变,而子元素内部的子元素是可以变的,这取决于子元素是否是可变对象!

注意:这里有一个坑:如果你定义一个元组为:tul = (108)或者tul = ("string")前者是整形后者为字符串类型,

所以你定义的元组里的元素少于两个的话,就不是元组,只不过加了个扩号而已,定义格式为:tul = (108,)或者tul = ("string",);空元组格式为:tu = tuple();

6.range的应用

range可以帮我们获取一些数据,通过for循环能够获取这些数据

for sum in range(10): print(sum)默认是从0开始的,在这里表示从0到10,10取不到,跟切片索引是一样的,也有步长!

Python_004(列表和元组)的更多相关文章

  1. Python列表和元组

    Python是没有数组的概念,但是和数组比较相近的概念是列表和元素. 下面两个例子展示列表和元组. # coding=utf-8 # 元组 students = ('小明', '小黄', '小李', ...

  2. Python黑帽编程2.3 字符串、列表、元组、字典和集合

    Python黑帽编程2.3  字符串.列表.元组.字典和集合 本节要介绍的是Python里面常用的几种数据结构.通常情况下,声明一个变量只保存一个值是远远不够的,我们需要将一组或多组数据进行存储.查询 ...

  3. 第二天----列表、元组、字符串、算数运算、字典、while

    列表 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现. 基本操作: 索引切片追加删除长度切片循环包含 创建.查看列表: 列表中的数字不要加引号,列表的索引从0开始: lis ...

  4. python:列表与元组

    1.python包含六种内建的序列,列表和元组是其中的两种,列表可以修改,元组则不能 2.通用序列操作 2.1 索引:和C#的区别是索引可以为负数,最后一个元素索引为-1,索引超出范围会报错 例:&g ...

  5. python中列表,元组,字符串互相转换

    列表,元组和字符串python中有三个内建函数:,他们之间的互相转换使用三个函数,str(),tuple()和list(),具体示例如下所示 >>> s = "xxxxx& ...

  6. Python【2】-列表和元组

    一.序列 python包含六种内建的序列:列表.元组.字符串.unicode字符串.buffer对象.xrange对象. 列表可以修改,元组是不能修改的. 二.列表 列表list是变长序列,其中的内容 ...

  7. python基础知识3——基本的数据类型2——列表,元组,字典,集合

    磨人的小妖精们啊!终于可以归置下自己的大脑啦,在这里我要把--整型,长整型,浮点型,字符串,列表,元组,字典,集合,这几个知识点特别多的东西,统一的捯饬捯饬,不然一直脑袋里面乱乱的. 一.列表 1.列 ...

  8. .Net程序员之Python基础教程学习----列表和元组 [First Day]

    一. 通用序列操作: 其实对于列表,元组 都属于序列化数据,可以通过下表来访问的.下面就来看看序列的基本操作吧. 1.1 索引: 序列中的所有元素的下标是从0开始递增的. 如果索引的长度的是N,那么所 ...

  9. 基本数据类型-集合(set)_上周内容回顾(字符串_数字_列表_元组_字典_集合)

    上周内容回顾 1.字符串 2.数字 除了布尔类型外,int.long.float和complex都可以使用的运算为:加.减.乘.除.整除.幂运算和取余 3.列表和元组 列表的内容可变,可以包含任意对象 ...

随机推荐

  1. 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_02 泛型_1_泛型的概念

    ArrayList的源码,.在定义的时候用到了E这个E就是一个未知类型 ArrayList里面的add方法,参数也是E 包括我们之前常用的get方法 返回值也是E 类型什么时候可以确定呢?创建集合对象 ...

  2. unittest框架扩展(自动生成用例)自动化-上

    一.思想: 基于数据驱动和代码驱动结合的自动化测试框架. 二.自动化测试框架步骤: 1.获取用例,用例格式:.ymal 2.调用接口 3.校验结果 4.发送测试报告 5.异常处理 6.日志模块 三.基 ...

  3. APlayer 媒体播放引擎

    APlayer媒体播放引擎 Windows平台的播放内核 封闭式 DirectShow 架构,不受系统解码环境干扰 全媒体文件格式支持 丰富的媒体文件传输协议(http/https/ftp/mms/r ...

  4. struts2 token 防止表单重复提交

    1.jsp页面  输入框,提交按钮 <%@ page language="java" contentType="text/html" pageEncodi ...

  5. Python笔记(二十三)_魔法方法_字符串的魔法方法

    __str__和__repr__ 如果要把一个类的实例变成字符串,就需要实现魔法方法__str__()和__repr__ >>>class A: def name(self): re ...

  6. VUe.js 父组件向子组件中传值及方法

    父组件向子组件中传值 1.  Vue实例可以看做是大的组件,那么在其内部定义的私有组件与这个实例之间就出现了父子组件的对应关系. 2. 父子组件在默认的情况下,子组件是无妨访问到父组件中的数据的,所以 ...

  7. 从建立yum仓库到搭建ftp以及http服务

    1 什么是yum仓库 yum工作需要依赖C/S架构工作模式的文件服务器,服务器中存放了yum工作时所需的程序包.yum接收到需要安装的程序包的名称之后,通过文件共享协议(或者文件传输协议),在配置文件 ...

  8. 牛客小白月赛16 A 小石的签到题 ( 博弈)

    链接:https://ac.nowcoder.com/acm/contest/949/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言52428 ...

  9. Appium+Python之元素定位和操作

    一.常用识别元素的工具 uiautomatorviewer:Android SDK自带的一个工具,在tools目录下     二.元素定位   1.格式:find_element_by_定位方式(va ...

  10. 什么是python??

    python 是一门非常简单易学好用,同时功能强大的编程语言,具有丰富和强大的库,开发效率特别高.它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起. pyth ...