zoukankan      html  css  js  c++  java
  • Python基础四 数据类型(list,tuple)

    一.列表(list)

    列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:

    li= [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]

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

    1.列表的索引,切片

    l1 = ['alex',True,'wusir','ritian','taibai',3,2]
    # 索引
    print(l1[0])
    print(l1[4])
    print(l1[-2])
    
    # 输出结果:
    # alex
    # taibai
    # 3
    
    l1 = ['alex',True,'wusir','ritian','taibai',3,2]
    # 切片
    print(l1[0:4])
    print(l1[2:-2])
    print(l1[1::2])
    print(l1[-1:1:-2])
    # 输出结果:
    # ['alex', True, 'wusir', 'ritian']
    # ['wusir', 'ritian', 'taibai']
    # [True, 'ritian', 3]
    # [2, 'taibai', 'wusir']
    list的索引和切片

    2.列表的增删改查

    2.1增

    l1 = ['alex',True,'wusir','ritian','taibai',3,2]
    # 增(三种方式)
    '''
    # 第一种 append  增加在最后
    ret = l1.append('醉了')
    print(l1)
    # 输出结果:
    # ['alex', True, 'wusir', 'ritian', 'taibai', 3, 2, '醉了']
    
    
    
    # 第二种 insert  插入在该索引原来对应的位置的前面
    ret = l1.insert(2,'醉了')
    print(l1)
    # 输出结果:
    # ['alex', True, '醉了', 'wusir', 'ritian', 'taibai', 3, 2]
    
    
    
    #第三种 extend   迭代增加在最后
    ret = l1.extend('abcd')
    print(l1)         输出结果: ['alex', True, 'wusir', 'ritian', 'taibai', 3, 2, 'a', 'b', 'c', 'd']
    ret = l1.extend('a,b,c')
    print(l1)          输出结果:['alex', True, 'wusir', 'ritian', 'taibai', 3, 2, 'a', ',', 'b', ',', 'c']
    ret = l1.extend(['a,b','cd'])
    print(l1)           输出结果:['alex', True, 'wusir', 'ritian', 'taibai', 3, 2, 'a,b', 'cd']
    list的增

    2.2删

    l1 = ['alex',True,'wusir','ritian','taibai',3,2]
    # 删 (四种方式)
    
    # 第一种   pop     按照索引对应位置删除,有返回值
    
    ret = l1.pop(0)
    # print(ret)      输出结果:alex     返回值
    print(l1)
    # 输出结果:[True, 'wusir', 'ritian', 'taibai', 3, 2]
    
    # 第二种 remove 按照元素删除
    
    ret = l1.remove('ritian')
    print(l1)
    # 输出结果:[True, 'wusir', 'taibai', 3, 2]
    
    # 第三种 clear  清空列表
    
    ret = l1.clear()
    print(l1)
    # 输出结果:[]
    
    # 第四种  del
    
    # 1.删除列表
    
    del l1
    
    # 2.按索引删除
    
    del l1[1]
    print(l1)
    # 输出结果:['alex', 'wusir', 'ritian', 'taibai', 3, 2]
    
    # 3.按切片删除
    
    del l1[0:4]
    print(l1)
    # 输出结果:['taibai', 3, 2]
    
    del l1[1::2]
    print(l1)
    # 输出结果:['alex', 'wusir', 'taibai', 2]
    
    del l1[-1:1:-2]
    print(l1)
    # 输出结果:['alex', True, 'ritian', 3]
    list的删

    2.3改

    l1 = ['alex',True,'wusir','ritian','taibai',3,2]
    
    # 1.按照索引去改,对应的变量:数字,字符串,列表都可以
    
    
    l1[0] = '12'
    print(l1)
    # 输出结果:['12', True, 'wusir', 'ritian', 'taibai', 3, 2]
    
    l1[0] = 12
    print(l1)
    # 输出结果:[12, True, 'wusir', 'ritian', 'taibai', 3, 2]
    
    
    # 2.按照切片去改
    
    
    l1[0:2] = 'qaz',12
    print(l1)
    # 输出结果:['qaz', 12, 'wusir', 'ritian', 'taibai', 3, 2]
    l1[0:3:2] = 'qaz',12
    print(l1)
    # 输出结果:['qaz', True, 12, 'ritian', 'taibai', 3, 2]
    list的改

    2.4查

    l1 = ['alex',True,'wusir','ritian','taibai',3,2]
    
    # 查 (两种方式)
    
    # 第一种 按照索引,切片去查
    # 1.索引
    l1[0]
    print(l1[0])
    # 输出结果:alex
    
    # 2.切片
    l1[0:3]
    print(l1[0:3])
    # 输出结果:['alex', True, 'wusir']
    
    
    # 第二种  for 循环查找
    for i in l1:
        print(i)
    # 输出结果:
    alex
    True
    wusir
    ritian
    taibai
    3
    2
    list的查

    2.5其他操作

    len(长度)(方法计算列表中出现的元素的总位数)

    l1 = ['alex',True,'wusir','ritian','taibai',3,2]
    ret = len(l1)
    print(ret)
    # 输出结果;  7

    count(数)(方法统计某个元素在列表中出现的次数)

    l1 = ['alex',True,'wusir','ritian','alex','taibai',3,'alex',2]
    ret = l1.count('alex')
    print(ret)
    # 输出结果:  3

    index(方法用于从列表中找出某个值第一个匹配项的索引位置)

    l1 = ['alex',True,'wusir','ritian','taibai',3,2]
    ret = l1.index('taibai')
    print(ret)
    # 输出结果:    4

    sort (方法用于在原位置对列表进行排序,默认从小到大)

    l1 = [1,3,6,8,7,4,2,9,5,10]
    l1.sort()     # 他没有返回值,只是改变了l1的顺序,所以只能打印l1
    print(l1)
    # 输出结果:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    l1.sort(reverse=True)
    print(l1)
    # 输出结果:[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

    reverse (方法将列表中的元素反向存放)

    l1 = [1,3,6,8,7,4,2,9,5,10]
    l1.reverse()
    print(l1)
    # 输出结果:[10, 5, 9, 2, 4, 7, 8, 6, 3, 1]

    3.列表的嵌套

    l1 = ['小新','egon','wusir',[99,'taibai','ritian',[2,3]],2]
    
    # 把'taibai'首字母大写
    a = l1[3][1].capitalize()
    l1[3][1] = a          #这两行可以简写成: l1[3][1] = l1[3][1].capitalize()
    print(l1)
    # 输出结果:
    # ['小新', 'egon', 'wusir', [99, 'Taibai', 'ritian', [2, 3]], 2]
    
    
    # 把l1中的99变成'100'
    l1[3][0] = str(l1[3][0] + 1)
    print(l1)
    # 输出结果:
    # ['小新', 'egon', 'wusir', ['100', 'Taibai', 'ritian', [2, 3]], 2]
    list的嵌套

    二.元组(tuple)

    元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。例:(1,2,3)("a","b","c")

    tu = (1,2,'wusir','taibai',[2,3,4,],True)
    
    print(tu[2:])
    # 输出结果:
    # ('wusir', 'taibai', [2, 3, 4], True)
    
    # 把元组内元素依次打印出来
    for i in tu:
        print(i)
    '''
    输出结果:
    1
    2
    wusir
    taibai
    [2, 3, 4]
    True
    '''
    
    #元素不能更改,但是元素内的元素有可能更改(其内的元素是列表,之后按照列表的操作方法操作就可以)
    
    # 比如我们可以把tu中的3改成'姓名'
    tu[4][1] = '姓名'
    print(tu)
    # 输出结果:
    # (1, 2, 'wusir', 'taibai', [2, '姓名', 4], True)
    tupe的一些操作

    三.range

    range指定范围,生成指定数字,一般与for配合使用

    for i in range(0,10):
        print(i)
    '''
    输出结果:
    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    '''
    
    # 把l1 = [1,2,3,'alex',[2,3,'wusir'],7]中的所有元素依次打印出来
    
    l1 = [1,2,3,'alex',[2,3,'wusir'],7]
    for i in l1:
        if type(i) == list:
            for j in i:
                print(j)
        else:
            print(i)
    '''
    输出结果:
    1
    2
    3
    alex
    2
    3
    wusir
    7
    '''
    range的用法
    for i in range(1,10,2):
        print(i)                                   #[1,3,5,7,9]
    for i in range(10,0,-1):
        print(i)                       #[10,9 ,8 ,7 ,6, 5,4,3,2,1]
    for i in range(10,-2,-1):
        print(i,type(i))               #[10,9 ,8 ,7 ,6, 5,4,3,2,1,0,-1]
  • 相关阅读:
    关于添加“服务引用”和“添加引用”的一点总结
    nodejs+express工程 在npm install之后或使用npm install bootstrap命令安装bootstrap之后
    Mongo基础使用,以及在Express项目中使用Mongoose
    Express URL跳转(重定向)的实现
    node 开发web 登陆功能
    node js实战:带数据库,加密的注册登录表单
    nodejs 进阶:封装所有对数据库的常用操作
    nodejs进阶:密码加盐:随机盐值
    Nodejs进阶:密码加盐
    express 路由能力
  • 原文地址:https://www.cnblogs.com/zhuzhaoyang/p/8342405.html
Copyright © 2011-2022 走看看