• 基础数据类型:列表


    列表(list)是Python以及其他语言中最常用到的数据结构之一。Python使用使用中括号 [ ] 来表示列表。

    [1,2,'c','dfas',True]
    索引和切片。
    li = [1,2,3,'af','re',4,'45']
    print(li[0])
    print(li[3])
    print(li[-1])
    

    切片输出的结果也是列表,形成的新列表中的元素的数据类型不变.

    li = [1,2,3,'af','re',4,'45']
    切片: print(li[
    0:3]) print(li[2:5]) print(li[0:5:2]) print(li[-2::-2]) print(li[5:0:-2])

    输出:

    [1, 2, 3]
    [3, 'af', 're']
    [1, 3, 're']
    [4, 'af', 2]
    [4, 'af', 2]

    列表的增删改查:(对列表的操作,会直接改变原列表)

    增:

    li = ['taibai','alex','wusir']
    # 1增加 append 在最后增加一个元素
    print(li.append('yuanhao'))
    li.append([1,2,3,'www'])
    print(li)

    输出:

    None
    ['taibai', 'alex', 'wusir', 'yuanhao', [1, 2, 3, 'www']]

    应用:

    li = []
    while
    True: username = input('请输入员工姓名:') if username.lower() == 'q':break li.append(username) print(li)

    insert #按照索引去增加

    li = ['taibai','alex','wusir']
    li.insert(1,'日天')
    print(li)
    
    输出:
    ['taibai', '日天', 'alex', 'wusir']

    #extend 迭代的添加

    li = ['taibai','alex','wusir']
    li.extend('q')
    print(li)
    li.extend('asdt')
    print(li)
    li.extend([1,2,3,'www'])
    print(li)
    li.extend('abc')
    print(li)
    li.extend('a,b,c')
    print(li)
    
    输出:
    ['taibai', 'alex', 'wusir', 'q']
    ['taibai', 'alex', 'wusir', 'q', 'a', 's', 'd', 't']
    ['taibai', 'alex', 'wusir', 'q', 'a', 's', 'd', 't', 1, 2, 3, 'www']
    ['taibai', 'alex', 'wusir', 'q', 'a', 's', 'd', 't', 1, 2, 3, 'www', 'a', 'b', 'c']
    ['taibai', 'alex', 'wusir', 'q', 'a', 's', 'd', 't', 1, 2, 3, 'www', 'a', 'b', 'c', 'a', ',', 'b', ',', 'c']

    删:

    #删除 pop 按照索引去删除,有返回值

    li = ['taibai','alex','wusir','egon','hulu','jingnvshen']
    #删除 pop 按照索引去删除,有返回值
    name = li.pop(1)
    print(name)
    print(li)
    
    输出:
    alex
    ['taibai', 'wusir', 'egon', 'hulu', 'jingnvshen']

    # remove 按照元素去删除

    li = ['taibai','alex','wusir']
    # remove 按照元素去删除
    li.remove('alex')
    print(li)
    
    输出:
    ['taibai', 'wusir']

    #clear 清空列表

    li = ['taibai','alex','wusir']
    #clear 清空列表
    li.clear()
    print(li)
    
    输出:
    []

    del  按照位置去删除,也可切片删除没有返回值

    li = ['taibai','alex','wusir','egon','hulu','jingnvshen']
    del li[2:4]
    print(li)
    del li[0:4:2]
    print(li)
    
    输出:
    ['taibai', 'alex', 'hulu', 'jingnvshen']
    ['alex', 'jingnvshen']

    改:

    #改

    如果是索引:先删除索引位置元素,后将新元素添加到索引位置。

    如果是切片,先删除切片位置元素,迭代着添加新元素到切片位置。

    li = ['taibai','alex','wusir','egon','hulu','jingnvshen']
    #改 先切片删除,后迭代着添加
    li[0] = '男神'
    print(li)
    li[0:3] = '都是男人'
    print(li)
    li[:] = '都是男人'
    print(li)
    
    输出:
    ['男神', 'alex', 'wusir', 'egon', 'hulu', 'jingnvshen']
    ['', '', '', '', 'egon', 'hulu', 'jingnvshen']
    ['', '', '', '']
    li = ['taibai','alex','wusir','egon','hulu','jingnvshen']
    li[0:2] = ['asd']
    print(li)
    li[0:2] = ['asd','fdsa',123]
    print(li)
    
    输出:
    ['asd', 'wusir', 'egon', 'hulu', 'jingnvshen']
    ['asd', 'fdsa', 123, 'egon', 'hulu', 'jingnvshen']

    查:

    切片去查,或者循环去查

    切片去查
    li = ['taibai','alex','wusir','egon','hulu','jingnvshen'] # print(li[1:4])
    循环去查 # li = ['taibai','taibai','wusir','egon','taibai','jingnvshen']
    # for i in li:
    #     print(i)

     列表的嵌套:

    li = [1,2,5,'taibai','yuanhao',[1,'alex',3,],True]
    
    # print(li[3])
    # print(li[3][3])
    # s = li[4].capitalize()  #li[4]是字符串,字符串不可改变,需要定义一个新的字符串。 # li[4] = s #li[4] = li[4].capitalize() # li[4] = 'Yuanhao' # print(li)
    # s2 = li[4].replace('hao','日天') # li[4] = s2 # li[4] = li[4][0:4] + 'ritian' # print(li) # l2 = li[5] # li[5][0] = '文杰' # print(li) li[5][1] = li[5][1].upper() #定义到的元素是字符串,将改变的结果重新赋值给字符串 print(li)

    列表的其他方法:

    li = [2,3,1,5,6,8,9,7,4,10]
    #sort 正序排序
    li.sort()
    print(li)
    
    li = [2,3,1,5,6,8,9,7,4,10]
    # reverse 反转
    li.reverse()
    print(li)
    
    #li.sort(reverse=True) 倒叙排序
    li.sort(reverse=True)
    print(li)
    
    输出:
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    [10, 4, 7, 9, 8, 6, 5, 1, 3, 2]
    [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

    奇葩切片:

    l = ["a", "b", "c", "d", "e"]
    print(l[0:1])
    print(l[0:0])
    print(l[2:0])
    
    输出:
    ['a']
    []
    []
  • 相关阅读:
    Files 的值“
    unable to open databse file
    你选择的点它并不一定在线上!
    各图元对应的DXF名
    combobox下拉列表进行模糊查找时,容易导致光标隐藏
    autocad2010在进行加密时总是出问题
    AutoCAD2010中没有RibbonFoldPanel,需要用RibbonRowPanel替代
    cad2009中把我在2016中定义的块打开为匿名块
    VS2015 未加载程序集时不允许进行更改
    无法将类型为“System.Windows.Forms.SplitContainer”的对象强制转换为类型“System.ComponentModel.ISupportInitialize”
  • 原文地址:https://www.cnblogs.com/biluo/p/7749768.html
Copyright © 2020-2023  润新知