• 老吴Python宝典之——Python列表&元组(第四章 )


    欢迎您进入老吴的博客,如有联系请加QQ群:1055524279

    4.1  python列表的概述

    列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型.比如JS中的数 组, java中的数组等等. 它是以[ ]括起来, 每个元素用' , '隔开而且可以存放各种数据类型: 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类

    列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。

    1. 字符串只能存储少量的数据,对于大量的数据用字符串操作不方便也不易存储。

    2. 字符串存储的数据类型太单一,只能是字符串类型

    如果存储数据类型是相同的用列表;例如存储100个人的名字 或者存储100个人的年龄。

    很多个信息描述一个人需要用字典。字典用来描述一个信息的时候

    #作用:多个装备,多个爱好,多门课程,多个女朋友等

    #定义:[ ]内可以有多个任意类型的值,逗号分隔

    #定义列表

    name = [ ]   #name等于中括号就是定义列表

    列表用例存储数据的

    4.1.1  python列表的定义

     

    4.2  Python 列表的添加

     

    # append 追加,给列表的最后面追加一个元素
    l = [1, 2, 'a']
    l.append(666)
    print(l) # [1, 2, 'a', 666]

    # insert  插入在列表的任意位置插入元素
    l = [1, 2, 'a']
    l.insert(1,'老吴')
    print(l) # [1, '老吴', 2, 'a']

    # extend  迭代着追加,在列表的最后面迭代着追加一组数据
    l = [1, 2, 'a']
    l.extend('柏晟')
    print(l)

    4.3  列表的删除

     

    # pop  通过索引删除列表中对应的元素,该方法有返回值,返回值为删除的元素
    l = ['老吴', 'test', 'wusir', '柏晟']
    ret = l.pop(1)
    print(ret,l) # test ['老吴', 'wusir', '柏晟']

    # remove  通过元素删除列表中该元素
    l = ['老吴', 'test', 'wusir', '柏晟']
    l.remove('wusir')
    print(l) # ['老吴', 'test', '柏晟']

    # clear 清空列表
    l = ['老吴', 'test', 'wusir', '柏晟']
    l.clear()
    print(l) # []

    # del
    #按照索引删除该元素
    l = ['老吴', 'test', 'wusir', '柏晟']
    del l[2]
    print(l) # ['老吴', 'test', '柏晟']

    # 切片删除该元素
    l = ['老吴', 'test', 'wusir', '柏晟']
    del l[1:]
    print(l) # ['老吴']

    # 切片(步长)删除该元素
    l = ['老吴', 'test', 'wusir', '柏晟']
    del l[::2]
    print(l) # ['test', '柏晟']

    4.4  Python列表的修改

     

    # 列表的修改:
    l = ['老吴', 'test', 'wusir', '柏晟']
    l[0] = '男神'
    print(l) # ['男神', 'test', 'wusir', '柏晟']

    # 按照切片改值(迭代着增加)
    l = ['老吴', 'test', 'wusir', '柏晟']
    l[1:3] = 'abc'
    print(l) # ['老吴', 'a', 'b', 'c', '柏晟']

    # 按照切片(步长)改值(必须一一对应)
    l = ['老吴', 'test', 'wusir', '柏晟']
    l[::2] = '对应'
    print(l) # ['对', 'test', '应', '柏晟']

    4.5  Python列表的查找

     

    代码:

    list_a = ['tom', 'jerry', 'rose']
    print('tom' in list_a)

    if 'tom' in list_a:
       list_a.remove('tom')
    print(list_a)

    4.5.1  列表查找的第二种方法:

     

    list_a = ['Mark', 'test', 'hello']
    a = list_a.index('test')
    print('第一次出现的索引:',a)

    4.6 列表的嵌套

    对于列表形如 list_1 = [[1, 2], [3, 4, 5], [6, 7], [8], [9]]

    转化成列表 list_2 = [1, 2, 3, 4, 5, 6, 7, 8, 9] 的问题。

     

    代码:

    list_2 = []
    list_1 = [[1, 2], [3, 4, 5], [6, 7]]
    for i in list_1:
        list_2+=i
    print(list_2)

    # 使用sum
    list_1 = [[1, 2], [3, 4, 5], [6, 7]]
    list_2 = sum(list_1, [])
    print(list_2)

    4.7  列表的排序

    Python中拥有内置函数实现排序,可以直接调用它们实现排序功能

    Python 列表有一个内置的 list.sort() 方法可以直接修改列表。还有一个 sorted() 内置函数,它会从一个可迭代对象构建一个新的排序列表。

     

    # 列表的排序

    list2 = [2,3,8,6,4,3,1,2]  # sort 默认从小到大排序

    list2.sort()

    print(list2)

    #

    list=[1,2,4,5,3]

    print(sorted(list))    #sorted()函数排序

    list2.sort(reverse=True) # 从大到小进行排序

    print(list2)

    list2.reverse()        # 倒序

    print(list2)

    sort ()sorted()区别:

    sort() 是应用在 list 上的方法,sorted() 可以对所有可迭代的对象进行排序操作。

    list 的 sort() 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted() 方法返回的是一个新的 list,而不是在原来的基础上进行的操作

    4.8  python元组

    4.8.1 元组的概述

    对于容器型数据类型list,无论谁都可以对其增删改查,那么有一些重要的数据放在list中是不安全的,所以需要一种容器类的数据类型存放重要的数据,创建之初只能查看而不能增删改,这种数据类型就是元组。

    元组:俗称不可变的列表,又被成为只读列表,元祖也是python的基本数据类型之一,用小括号括起来,里面可以放任何数据类型的数据,查询可以,循环也可以,切片也可以.但就是不能改.

    元组特点:是不可变

    定义:与列表类型比,只不过[  ]换成() age=(11,22,33,44,55)

    作用:存多个值,对比列表来说,元组不可变(是可以当做字典的key的)

    4.8.2  元组的索引切片

     

    tu1 = ('a', 'b', '柏晟', 3, 666)
    print(tu1[0])  # 'a'
    print(tu1[-1])  # 666
    print(tu1[1:3])  # ('b', '柏晟')
    print(tu1[:-1])  # ('a', 'b', '柏晟', 3)
    print(tu1[::2])  # ('a', '柏晟', 666)
    print(tu1[::-1])  # (666, 3, '柏晟', 'b', 'a')

    4.8.3  访问元组

     

    修改元组

    说明:Python中不允许修改元组的数据,包括不能删除其中的元素。

     

    元组是不可变的,也就是说,元组中的元素在被赋值后不能改变。但是,如果元素本身是一个可变数据类型的列表,那么其嵌套项可以被改变。

     

    4.8.4  多维元祖访问的示例

     

    参考代码:

    a = (("刘备","吕布"),("老王","test"),("wusir","运维"))
    print(a[0])
    print(a[0][1])
    print(a[1][1])

    元组的索引和字符串以及列表完全一致。

    4.8.5  python元组的方法

    元组的查找

    index

    从左往右返回第一个遇到的指定元素的索引,如果没有,报错

    count

    返回元组当中指定元素的个数

     

     

    元组的查找:

     

    lis = ("wusir","test","python","baisheng","java")
    print('test' in lis)

    4.8.6  range函数的使用:

     

    # range()h函数一般和for循环配合使用
    print(range(1,10))
    for i in range(1,10):
        print(i)
    for i in range(1,10,2):
        print(i)
    for i in range(10, 1, -2):
        print(i)

    range函数扩展遍历列表里面的元素

     

    # 遍历lis 每一个元素的索引
    lis = ["wusir","test","python","baisheng","java"]
    # 方法一 ,列表不能有重复数据
    for i in lis:
        print(lis.index(i))
    # 方法二 推荐使用
    for i in range(0,len(lis)): # 起始位置是0开始,结束位置用len()函数表示
        print(i)

  • 相关阅读:
    thinkphp3.2v
    ng-select 下拉的两种方式
    angular的时间指令 以及防止闪烁问题
    angularjs中的几种工具方法
    运用正则+replace+substring将一段英语的字母大写 angurlar运用自定义指令filter完成首字母大写
    angularjs bind与model配合双向绑定 表达式方法输出
    ajax跨域问题
    团队作业一
    校外实习报告(四)
    校外实习报告(三)
  • 原文地址:https://www.cnblogs.com/wusirtpc/p/12315587.html
Copyright © 2020-2023  润新知