zoukankan      html  css  js  c++  java
  • Python:基础数据类型--列表与元组

    基础数据类型--列表

    列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

    • 按照索引取值,与元素本身的数据类型一致。
    • 按照切片取值,取出来的是新列表。

    列表:查

    切边的方法与字符串相同 list[起始索引:结束索引:步长]

    li = [1, (2, 3), 2, 3, 4, 5, 6,]
    l1 = li[:3]
    print(l1)
    print(li[0],type(li[0]))         #按照索引取值,保持元素本身的数据类型
    print(li[1],type(li[1]))      
    l2 = li[:]              #按照切片取值,得到一个新列标
    print(l2)
    
    [1, (2, 3), 2]
    1 <class 'int'>
    (2, 3) <class 'tuple'>
    [1, (2, 3), 2, 3, 4, 5, 6]

    for循环查询。

    l = ['WuSir', 'alex', 'OldBoy', 'barry']
    for i in l:
        print(i)
    
    WuSir
    alex
    OldBoy
    barry

     列表:增

    append() 在列表末尾追加指定的元素。

    l = ['WuSir', 'alex', 'OldBoy', 'barry']
    l.append('景女神')
    l.append(1)
    l.append([1, 2, 3])
    print(l)
    
    ['WuSir', 'alex', 'OldBoy', 'barry', '景女神', 1, [1, 2, 3]]

    insert() 在指定索引前插入元素。

    l = ['WuSir', 'alex', 'OldBoy', 'barry']
    l.insert(1, '葫芦')         #在索引为1的元素前插入'葫芦'
    print(l)
    
    ['WuSir', '葫芦', 'alex', 'OldBoy', 'barry']

    extend()  将一个可迭代对象中的单个元素拆分后,一次性追加末至列表尾,可迭代对象可以是字符串也可以列表。

    l = ['WuSir', 'alex', 'OldBoy', 'barry']
    l.extend([1, '2122', 56])            #将列表中的元素拆分后,追加至列表末尾
    print(l)
    l.extend('abc')              #将字符串拆分为单个字符,追加至列表末尾
    print(l)
    
    ['WuSir', 'alex', 'OldBoy', 'barry', 1, '2122', 56]
    ['WuSir', 'alex', 'OldBoy', 'barry', 1, '2122', 56, 'a', 'b', 'c']

    列表:删

    pop()  按照索引删除,并返回被删除元素。

    l = ['WuSir', 'alex', 'OldBoy', 'barry']
    ret = l.pop(1)                        #保存返回值
    print(ret)
    print(l)
    
    alex
    ['WuSir', 'OldBoy', 'barry']

    remove() 按照元素删除。

    l = ['WuSir', 'alex', 'OldBoy', 'barry']
    l.remove('alex')
    print(l)
    
    ['WuSir', 'OldBoy', 'barry']

    clear()  清空列表。

    l = ['WuSir', 'alex', 'OldBoy', 'barry']
    l.clear()
    print(l)
    
    []

    del   1 删除列表。2,按照索引删除。3.可以按照切片去删除。

    l = ['WuSir', 'alex', 'OldBoy', 'barry']
    del l[1]
    print(l)
    
    del l[:1]
    print(l)
    
    del l
    print(l)
    
    ['WuSir', 'OldBoy', 'barry']
    ['OldBoy', 'barry']
    NameError: name 'l' is not defined

    列表:改

    按照索引改。

    l = ['WuSir', 'alex', 'OldBoy', 'barry']
    l[0] = '日天'
    print(l)
    l[2] = '老男孩'
    print(l)
    
    ['日天', 'alex', 'OldBoy', 'barry']
    ['日天', 'alex', '老男孩', 'barry']

    按照切片去改。   将一个可迭代对象中的单个元素拆分后,替换到指定区域

    l = ['WuSir', 'alex', 'OldBoy', 'barry']
    l[:3] = 'abc' #首相指定区域删除,然后将字符串拆分后,插入指定区域。 print(l) l[:3] = [11, 22, 33, 44] #列表相同。都是以最小元素进行拆分。 print(l) ['a', 'b', 'c', 'barry'] [11, 22, 33, 44, 'barry']
    l = ['WuSir', 'alex', 'OldBoy', 'barry']
    l[:3:2] = 'ab'                 #加上步长,需要一一对应。
    print(l)
    
    ['a', 'alex', 'b', 'barry']

    其他方法

    l = ['WuSir', 'alex', 'OldBoy', 'barry']
    
    print(len(l))              # 总个数
    print(l.count('WuSir'))       # 某个元素出现的次数
    l1 = [1, 9, 8, 4, 3, 2, 6,] l1.sort()               # 正序排序 print(l1)
    l1.sort(reverse
    =True) # 倒叙排序 print(l1)
    l1.reverse()
    # 翻转 print(l1) 4 1 [1, 2, 3, 4, 6, 8, 9] [9, 8, 6, 4, 3, 2, 1] [1, 2, 3, 4, 6, 8, 9]

    坑:再循环一个列表时,不要改变列表的大小,这样会影响结果。

    如果真在循环时删除,则需要重后往前删。

    l1 = [11, 22, 33, 44, 55]
    for i in range(len(l1)):
        if i % 2 == 1:
            del l1[i]
    print(l1)
    
    [11, 33, 44]
    
    l1
    = [11, 22, 33, 44, 55] for i in range(len(l1)-1,-1,-1): if i % 2 == 1: del l1[i] print(l1)
    [
    11, 33, 55]

    基础数据类型--元组

    元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。

    tu = (1, 2, 33, 'alex')
    print(tu[1])              #查询索引为1的元素
    print(tu[:-1])                      #通过切片会获得一个新的元组
    for i in tu:    
        print(i)
        
    2
    (1, 2, 33)
    1
    2
    33
    alex
  • 相关阅读:
    c# list排序的三种实现方式 (转帖)
    LINQ TO SQL 中的join(转帖)
    Linq to sql 增删改查(转帖)
    DBLinq (MySQL exactly) Linq To MySql
    github
    eclipse安装github插件egit
    Android中图片的目录
    Fragment
    世界500强榜单出炉:中国公司首进三强 沃尔玛居首
    经济学,不会挣钱,更不会赚钱
  • 原文地址:https://www.cnblogs.com/bailo/p/9031307.html
Copyright © 2011-2022 走看看