Python基础之数据类型II

3.List(列表)

  • 引子

    我们现在已经学过的基础数据类型: int float str bool,str类型可以帮我们存储少量的数据,但是str有什么缺点?

    • str存储的数据量相对是少量的。

    • str存储的数据无论通过切片、索引还是各种方法得到数据都是字符串类型。

      针对以上str的两个缺点,python引入了列表这种数据类型的概念。

3.1列表的介绍

  • 列表,是python中的常用的基础数据类型之一,他是通过[]括起来,里面的元素通过逗号隔开的容器型数据类型。

    # 数据类型可以按照不同的角度进行分类:
    # 按照容器与非容器的角度进行分类:
    # 容器型数据类型: list,tuple,dict, set.
    # 非容器型数据类型:int float bool str。
    

    列表是有序的,列表相比于字符串,不仅可以储存不同的数据类型,

    而且可以储存大量数据,32位python的限制是 536870912 个元素,

    64位python的限制是 1152921504606846975 个元素。

    而且列表是有序的,有索引值,可切片,方便取值。

3.2索引与切片

列表的索引与切片和字符串的索引与切片几乎一模一样。

  • 索引

    # 索引
    lst = [1, 2, 3, 4, 5, 6]
    # ret = lst[0]
    # print(ret, type(ret))
    # print(lst[2])
    print(lst[-1])
    print(lst[-3])
    
  • 切片

    # 正向切, 顾头不顾腚
    lst = [1, 2, 3, 4, 5, 6]
    # print(lst[:3])
    # print(lst[:])
    # print(lst[:-1:2])# --------------# 反向切,   一定要加一个反向步长-1
    lst = [1, 2, 3, 4, 5, 6]
    # print(lst[-1:-4:-1])
    # print(lst[-1:-4])
    # print(lst[2::-1])
    # print(lst[-1::-2])

3.3 列表的操作

3.3.1增

  • lst = ['豪哥', '明哥', '天哥', '轩哥', '菜哥', '宏哥']# append 追加
    # lst.append('旋哥')
    # print(lst)
    # --------------
    # insert 插入
    # lst.insert(2, '博哥')
    # print(lst)
    # lst.insert(-2, '超哥')
    # print(lst)
    # --------------
    # extend 迭代着追加
    # lst.extend('allen')
    # lst.extend(['abc', 'aaa', 'bbb'])
    lst.extend(100)  # 错误
    print(lst)

3.3.2删

  • lst = ['豪哥', '航哥', '天哥', '轩哥', '菜哥', '宏哥']
    # 按照索引删除 pop 有返回值
    # ret = lst.pop(2)
    # print(ret)
    # print(lst)
    # --------------
    # 按照元素删除 remove  只是删除第一个
    # lst.remove('航哥')
    # print(lst)
    # --------------
    # 清空 clear
    # lst.clear()
    # print(lst)
    # --------------
    # del
    # 删除列表
    # del lst
    # --------------
    # 按照索引删除
    # del lst[3]
    # 按照切片删除
    # del lst[:3]
    # 按照切片+步长删除
    del lst[:-2:2]
    print(lst)
    

3.3.3改

  • # print(lst[0])
    # 按照索引修改
    # lst[0] = '珍哥'
    # --------------
    # 按照切片修改(迭代着改)
    # lst[-3:] = 'abcde'
    # lst[-3:] = [100, 200, 300, 400, 500]
    # --------------
    # 按照切片+步长修改(迭代着改)一一对应
    # lst[:-2:2] = 'abc'
    lst[:-2:2] = 'abcd'  # 一一对应
    print(lst)
    

3.3.4查

  • # 按照索引查询
    lst = ['豪哥', '航哥', '天哥', '轩哥', '菜哥', '宏哥']
    print(lst[0])
    print(lst[5])# --------------# 按照切片(步长)查询
    print(lst[:5])
    print(lst[3:])# --------------# for循环查询
    for i in lst:print(i)
    

3.4列表的嵌套

  • lst = [1, 'allen', 'wusir', ['麻花疼', ['可口可乐'], '王健林']]# 查找麻花疼 数据。
    # print(lst[-1][0])# 将可口可乐改成百事可乐。
    # l1 = lst[-1][1]
    # # print(l1)
    # l1[0] = '百世可乐'
    # print(lst)# 简写
    lst[-1][1][0] = '百世可乐'
    print(lst)l1 = [1, 2, 'taibai', [1, 'alex', 3, ]]
    # 1, 将l1中的'taibai'变成大写并放回原处。
    # print(l1[2].upper())
    # l1[2] = l1[2].upper()
    # print(l1)
    # 2,给小列表[1,‘alex’,3,]追加一个元素,nba选秀大会'。
    # l1[-1].append('nba选秀大会')
    # print(l1)
    # 3,将列表中的'alex'通过字符串拼接的方式在列表中变成'alexsb'。
    # print(l1[-1][1])# l1[-1][1] = l1[-1][1] + 'sb'  # a = a + 1  a += 1
    l1[-1][1] += 'sb'
    print(l1)
    

4.Tuple(元组)

  • 引子

    python中的基础数据类型之一,容器型的数据类型,可以存储大量的数据,tuple也称为元组,元组是不可变的数据类型,存在元组里面的元素只能查询不能增删改。元组也称为只读列表。我们存放一些非常重要的数据。

    # 数据类型的分类:可变与不可变。
    # 可变的数据类型:对原数据可以进行增删改等操作。list,dict,set.
    # 不可变的数据类型:对原数据可以进行增删改等操作。 int,float,str,tuple.
    
  • 基本操作

    tu1 = ('bary', 100, True, [1, 2, 3], (22, 33))
    # 索引与切片
    # print(tu1[0])
    # print(tu1[:3])
    # print(tu1[::2])
    print(tu1[-1:-3:-1])
    
  • 元组没有增删改的操作,只能查询,不能更改

    tu1 = (100, True, [1, 2, 3], (22, 33))
    del tu1[0]
    print(tu1)  # 报错
    
  • 注意点

    • 元组的儿子不能改,但是孙子有可能改。(不这么用)

      tu1 = ('bary', 100, True, [1, 2, 3], (22, 33))# tu1[0] = 666
      # print(tu1)
      tu1[-2][0] = 666
      print(tu1)
      
  • 元组中如果只含有一个元素,并且没有逗号,则它不是元组,他的类型与该元素的类型保持一致。

    # tu1 = ('bary',)
    # print(tu1, type(tu1))
    #
    # tu1 = ('bary')
    # print(tu1, type(tu1))
    tu1 = ([1,2,3], )
    print(tu1, type(tu1))tu1 = ([1,2,3])
    print(tu1, type(tu1))
    

Python基础之数据类型II相关推荐

  1. Python基础之数据类型(一)

    Python基础之数据类型(一) 一.数据类型种类 二.int类型 三.float类型 1.float介绍 2.float简单示例 三.bool类型 1.布尔值为true 2.布尔值为false 四. ...

  2. python基础之数据类型III

    python基础之数据类型III 5.Dictionaries(字典) 5.1字典的认识 引子 我已经讲过的数据类型 int float str bool tuple list,我们讲的列表的数据类型 ...

  3. 1. Python基础之数据类型与注释

    文章目录 Python基础之数据类型与注释 1.变量 2.数据类型 2.1 Number类型 Int 整型 Float 浮点型 2.2 Bool 布尔类型 2.3 String 字符串类型 2.4 L ...

  4. python 基础(数据类型、运算符、流程控制、推导式、函数等...更新中)

    python基础 一.认识Python 1.python起源 Python 的创始人为吉多·范罗苏姆(Guido van Rossum),江湖人称"龟叔". 1991年,第一个Py ...

  5. 【python基础】——数据类型(列表、字典、集合)

    骏马金龙--python语法基础 python基础 变量与运算 符号 // % ** 意义 整除 整除取余 幂次方 数据种类 #mermaid-svg-7nSRRijcYFCYwTDr .label{ ...

  6. python基础之数据类型与变量

    阅读目录 一.变量 二.数据类型 2.1 什么是数据类型及数据类型分类 2.2 标准数据类型: 2.2.1 数字 2.2.1.1 整型: 2.2.1.2 长整型long: 2.2.1.3 布尔bool ...

  7. python定义变量类型_一、python基础之数据类型与变量

    一.变量 声明变量 #!/usr/bin/env python age=9 name='ld' name1='ld1' 变量作用:保存状态(程序的运行本质是一系列状态的变化,变量的目的就是用来保存状态 ...

  8. python定义一个整数变量a_第二篇.1、python基础之数据类型与变量

    一.变量 1 什么是变量之声明变量 #变量名=变量值 age=18 gender1='male' gender2='female' 2 为什么要有变量 变量作用:"变"=>变 ...

  9. python基础之数据类型

    一.数据类型 python中的数据类型 python使用对象模型来存储数据,每一个数据类型都有一个内置的类,每新建一个数据,实际就是在初始化生成一个对象,即所有数据都是对象. 对象三个特性: 身份:内 ...

最新文章

  1. linux深度定制,专为国人订制!Linux Deepin新版发布
  2. XML--视频--人脸VOC
  3. 语音聊天室 html,聊天室 - HTML - php中文网博客
  4. 数学之路(2)-数据分析-R基础(4)
  5. Delphi7函数大全
  6. Decoder is not a @Sharable handler, so can't be added or removed multiple times
  7. 游戏开发之C++类和对象相关概念实例(C++)
  8. Clipy 让苹果Mac复制粘贴发挥更强大的功能
  9. 实用主义学python爬虫_麻瓜编程 实用主义学Python2018
  10. paypal支付交易数据
  11. C语言cat函数的功能,R语言cat()函数
  12. 系统无忧 Ghost XP SP3 快速装机版V2011.07
  13. Android 复杂的多类型列表视图新写法:MultiType 3.0
  14. 空集有四种写法,你知道么?——常用Latex符号表来啦!
  15. 切片器可以设置日期格式?_在Power BI中设置切片器的默认值,你会吗?
  16. ictclas java_ICTCLAS50 基于中科院分词作的java 工具,内容详细各个函数都有实现 含有word解析文档 Develop 238万源代码下载- www.pudn.com...
  17. 如何在Excel表中快速提取想要的数据
  18. 误删除文件怎么找回 数据恢复用这些方法
  19. 数据分析师的个人修养
  20. apmserv mysql5.1启动失败_使用APMServ时出现“1、Apache启动失败,请检查相关配置。√MySQL5.1已启动。”错误的终极解决办法:...

热门文章

  1. mybatisplus--getOne和逻辑删除问题详解
  2. 收集前端优秀的网站、博客、书籍
  3. 【2017秋季校园招聘笔经面经专题汇总】
  4. 机考怎么作弊_公司想用电脑组织机考,但是人手有限,不能人工监考,可不可以使用电脑控制防止考试作弊呢?...
  5. Virtex—5 GTP和Virtex—6 GTX间匹配通信研究及应用
  6. 项目管理工具三、目标管理的SMART原则
  7. linux串口文件传输工具
  8. 后门触发器之频域角度——Rethinking the Backdoor Attacks’ Triggers A Frequency Perspective
  9. PAT-Day1-挖掘机技术哪家强
  10. 60903鱼植共生缸