1、列表
 
    定义:能装对象的对象
    在python中使用[] 来描述列表,内部元素用逗号隔开,对数据类型没有要求。
    列表存在索引和切片,和字符串的操作是一样的
 
2、列表相关的增删改查操作
    
      添加:
               1、append()  追加,在后面添加
                2、insert(位置,元素),效率相对较低 
                3、extend( )    迭代添加,把传递进去的参数进行迭代,把每一项添加到表的末尾(如果参数是字符串,将会把每个字符当成一个元素迭代添加到列表中)

lst = ['qian','钱','money','doll']
lst.extend('冷暖自知')
lst.extend(['力量','盟友'])
print(lst)
# ['qian', '钱', 'money', 'doll', '冷', '暖', '自', '知', '力量', '盟友']

  

  删除:
             1、pop() 默认从后往前删除   pop(索引) 根据索引删除
             2、remove(元素)  根据元素删除 ,当元素不存在时,会报错
             3、del  lst[start:end:step]   根据索引或者切片删除
             4、clear()   清空
  
   修改:
             1、索引修改
              2、ls[索引] =  元素
 
           注:报错:IndexError: list assignment index out of range   索引下标越界
 
   迭代更新
lst = ['大树','白云','小鸟','蝴蝶','蜜蜂']
lst[3:] = '小动物'
print(lst)
# ['大树', '白云', '小鸟', '小', '动', '物']

  切片更新

lst = ['大叔','白云','小鸟','蝴蝶','蜜蜂','苍鹰']
lst[3:5] = ['星星']
print(lst)
# ['大叔', '白云', '小鸟', '星星', '苍鹰']

  

 如果步长不为1,元素的个数必须要和切片的个数一致不然会报错
ValueError: attempt to assign sequence of size 1 to extended slice of size 2
lst = ['大叔','白云','小鸟','蝴蝶','蜜蜂','苍鹰']
lst[1:4:2] = ['宇宙','黑洞']
print(lst)
# ['大叔', '宇宙', '小鸟', '黑洞', '蜜蜂', '苍鹰']

  

  查询:(列表是一个可迭代对象)
 
     for 循环

lst = ['大叔','白云','小鸟','蝴蝶','蜜蜂','苍鹰']

for item in lst:      # lst  是   item  中的每一项

  print(item)

  

for i in 123:
  print(i)

  报错:TypeError: 'int' object is not iterable

3、列表的嵌套
 
     多个列表互相嵌套(降维操作)
 
4、列表的其他操作
 
     1、count(xxx)   计数   查看xxx 元素出现的次数
     2、 sort()  排序(升序)   sort(reserve  =  True)  倒序
     3、reverse()  将列表元素翻转过来

li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
li.reverse()
print(li)
# ['wenzhou', 'barry', 'ritian', 'WuSir', 'alex']

  

   4、len() 列表长度  查看列表中元素的个数
 
     查看list 的其他操作    list  按住ctrl +鼠标左键
 
5、元组
 
     能装对象的对象,不可变,一旦确认好,不可更改。  用()表示,只读列表
     注:
    tu = tuple()   #空元组  固定写法
    tu  = (1) 不是元组  print(type(tu))   # <class 'int'>
    tu  =  (1,)   元组中只有一个元素      #< class 'tuple'>
 
   好习惯:写元组的时候末尾加个逗号
   元组也是可迭代的 ,可以使用for循环
  
tu = ('规格','面积','大小',['正方形','圆形'])
tu[3].append('长方形')
print(tu)
# ('规格', '面积', '大小', ['正方形', '圆形', '长方形'])
# 元组没改,改的是元素内部,没有改变元组的指向,所以不报错

  

6、range  数数
    
     range(n)    [0,n)
     range(m,n)   [m,n)
     range(m,n,p)  [m,n)   每隔p取一个

lst = ['你是水','我是冰']
for i in range(len(lst)):
  print(i , lst[i])
# 0 你是水
# 1 我是冰

  

python - 列表,元组的更多相关文章

  1. python列表元组

    python列表元组 索引 切片 追加 删除 长度 循环 包含   定义一个列表 my_list = []     my_list = list()   my_list = ['Michael', ' ...

  2. Python—列表元组和字典

    Python-列表元组和字典 列表 元组 字典 列表: 列表是Python中的一种数据结构,他可以存储不同类型的数据.尽量存储同一种类型 列表索引是从0开始的,我们可以通过索引来访问列表的值. 列表的 ...

  3. 【277】◀▶ Python 列表/元组/字典说明

    目录: 前言 一.访问列表中的值 二.更新列表 三.删除列表元素 四.Python 列表脚本操作符 五.Python 列表函数 & 方法 参考:Python 列表(List)使用说明 列表截取 ...

  4. Python 列表/元组/字典总结

    序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列 ...

  5. python3笔记十八:python列表元组字典集合文件操作

    一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle  #数据持久性模块 #封装的方法def OptionData(data,path):    # ...

  6. Python成长笔记 - 基础篇 (三)python列表元组、字典、集合

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码   一.列表和元组的操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义 ...

  7. Python列表,元组,字典,序列,引用

    1.列表 # Filename: using_list.py # This is my shopping list shoplist=["apple", "mango&q ...

  8. python 列表 元组 字典 集合

    列表 lst = [i for i in range(10)] 切片 # 把下标小于2的显示出来 print(lst[:2]) # 把10个数有大到小输出 print(lst[::-1]) # 把下标 ...

  9. Python 列表&元组&字典&集合

    列表(list) 有序性,可存储任意类型的值 通过偏移存取,支持索引来读取元素,第一个索引为0 ,倒数第一个索引为-1 可变性 ,支持切片.合并.删除等操作 可通过索引来向指定位置插入元素 可通过po ...

  10. Python列表,元组,字典,集合详细操作

    菜鸟学Python第五天 数据类型常用操作及内置方法 列表(list) ======================================基本使用====================== ...

随机推荐

  1. java问题排查之Load CPU很高

    1首先 找到对应的java进程id ps -aux | grep java 这个命令可以找到 2.接下来就是查找比较耗CPU的线程id top -H -p pid 这里可以观察出来耗时最多的几个进程中 ...

  2. vue实现验证码倒计时60秒的具体代码

    vue实现验证码倒计时60秒的具体代码 <span v-show="show" @click="getCode">获取验证码</span> ...

  3. Android SDK Manager for Mac 在线更新镜像地址截至2017-10-01亲测有效

    虽然国内google被墙了,但仍可利用国内的某些镜像网站实现Android SDK在线更新,使用方法如下: 1.启动 Android SDK Manager ,打开主界面,依次选择『Tools』.『O ...

  4. java消息服务学习之JMS高级特性

    将介绍的内容是: 控制消息确认.为发送消息指定选项.创建临时目的地.使用JMS本地事务.异步发送消息 五个方面. 1.控制消息确认 在JMS消息得到确认之前,并不认为它已经成功使用.要成功使用消息,通 ...

  5. c#检测是否存在数据库(SQL SERVER)

    private static bool CheckDatabaseExists( string databaseName) { { string sqlCreateDBQuery; bool resu ...

  6. 怎么把Thu Nov 22 2018 10:49:36 GMT+0800转换成正常日期

    this.data //Thu Nov 22 2018 10:49:36 GMT+0800 this.date_of_birth = date.getFullYear() + '-' + (date. ...

  7. BIOS备忘录之SPI(fingerprint)设备

    Reset和INT信号使用的是GPIO功能,需要显式的使用(INT信号使用了GPIO的int number,RST信号使用了GPIO的absolute number): 问题举例 漏电导致功能异常:在 ...

  8. 自制操作系统Antz(7)——实现内核 (上)

    Antz系统更新地址: https://www.cnblogs.com/LexMoon/category/1262287.html Linux内核源码分析地址:https://www.cnblogs. ...

  9. opencv学习之路(29)、轮廓查找与绘制(八)——轮廓特征属性及应用

    一.简介 HSV颜色空间(hue色调,saturation饱和度,value亮度) 二.HSV滑动条 #include "opencv2/opencv.hpp" #include ...

  10. Eclipse/MyEclipse导入导出注释模板

    1.Eclipse/MyEclipse导入注释模板 (1)打开Eclipse/MyEclipse工具,打开或创建一个Java工程,点击菜单Window->Preferences弹出首选项设置窗口 ...