• Python_列表初识及操作


    列表

    初识

      列表属于容器性数据类型。

    li = [123, '狗', True, [1, 2, 3], {'name': 'Lon'}, (1, 2, 3)]
    

      其中包含有int型,例如123;字符串,例如'狗';bool值,例如True;列表,例如[1,2,3];字典,例如{'name':'Lon'};元组,例如(1,2,3)。

      在循环一个列表时,最好不要改变列表的大小,会影响你的最终结果。如下:

      li = [111, 222, 333, 444, 555,],索引为奇数的所有元素全部删除。

      方法一:

    l1 = [111, 222, 333, 444, 555, ]
    del l1[1::2]
    print(l1)

      方法二(错误展示):

    l1 = [111, 222, 333, 444, 555, ]
    for index in range(len(l1)):
        print('删除之前的index:%s' % index)
        print('删除之前的l1:%s' % l1)
        if index % 2 == 1:
            del l1[index]
        print('删除之后的index:%s' % index)
        print('删除之后的l1:%s' % l1)
    print(l1)

      方法三(倒着删):

    l1 = [111, 222, 333, 444, 555, ]
    for index in range(len(l1) - 1, -1, -1):
        if index % 2 == 1:
            del l1[index]
    print(l1)

      方法四(自己做的):

    l1 = [111, 222, 333, 444, 555, 666, 777, 888, 999, ]
    i = len(l1)
    count = 1
    s = int(len(l1)/2)
    for j in range(s):
        del l1[count]
        count += 1
    print(l1)

    索引取值

    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    print(l1[0])

    结果:

     

    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    print(l1[1],type(l1[1]))

    结果:

     

    切片取值

    起始切

    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    print(l1[:3])

    结果:

     

     结尾切

    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    print(l1[2:])

    结果:

     

     步长切

    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    print(l1[::2])

    结果:

      

    操作

      增加一共有三种方式,分别为__.append()、__.insert()、__.extend()。

    append('A')

      增加,在列表最后边添加需要添加的内容A,返回值为None。

    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    print(l1.append('女神'))
    

      l1.append('女神')  这条语句只是一个动作,所以无法输出结果,当打印这条代码是,输出的结果为None,结果如下图:

     

    追加字符串
    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    l1.append('女神')
    print(l1)

    结果:

    追加列表
    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    l1.append([1, 2, 1111])
    print(l1)
    

     结果:

       给一个列表中添加循环添加数据。如下:

    name_list = ['wusir', 'alex', 'laonanhai', 'ritian', 'taibai']
    while True:
        user_name = input('请输入新员工的名字:q或Q退出').strip()
        if user_name.upper() == 'Q':
            break
        name_list.append(user_name)
        print('您已经成功添加了%s' % user_name)
    print(name_list)

    结果:

     

    .insert(Num,A)

      插入,在索引为Num的位置插入A。

    name_list = ['wusir', 'alex', 'laonanhai', 'ritian', 'taibai']
    name_list.insert(1, '哪吒')
    print(name_list)

    结果:

      

    extend('ABC')

       迭代追加,将'ABC'拆分成本最小的单元添加在列表后边。

    name_list = ['wusir', 'alex', 'laonanhai', 'ritian', 'taibai']
    name_list.extend('abc')
    print(name_list)

    结果:

     

      当添加的内容为列表时,列表内的字符串不进行拆分,只是拆分列表成列表的最小单元。

    name_list = ['wusir', 'alex', 'laonanhai', 'ritian', 'taibai']
    name_list.extend([1, 2, 3, 4, 'abc'])
    print(name_list)
    

     结果:

    .pop(Num)

      按照索引去删除,有返回值。删除索引Num对应的元素。

    name_list = ['wusir', 'alex', 'laonanhai', 'ritian', 'taibai']
    ret = name_list.pop(0)
    print(ret) print(name_list)

    结果:

     

    .remove('A')

      按照元素去删除,删除元素A。只删除第一次出现的值,即当有多个值时,只删除第一次出现的。

    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    l1.remove('alex')
    print(l1)

    结果:

     

    .clear()

      清空列表。

    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    l1.clear()
    print(l1)

    结果:

     

    del

      在内存级别删除列表。

    全删
    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    del l1
    print(l1)

    结果:

     

    按照索引删除
    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    del l1[2]
    print(l1)

    结果:

      

    切片删除
    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    del l1[:-1]
    print(l1)

    结果:

     

    加步长删除
    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    del l1[::2]
    print(l1)

    结果:

     

    按照索引去改

    正索引
    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    l1[0] = '肖锋'
    print(l1)

    结果:

     

     负索引
    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    l1[-1] = '男神'
    print(l1)

    结果:

     

    按照切片去改

      先将切片的区域内的容全部删除,然后迭代着添加内容。

    字符串
    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    l1[:3] = '范德萨发给ghfkhgh;'
    print(l1)
    

     结果:

     列表
    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    l1[:3] = [1111, 2222, 3333, 4444]
    print(l1)
    

     结果:

    切片查

    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    print(l1[:4])

    结果:

    for循环

    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    for i in l1:
        print(i)

    结果:

     

    其他操作方法

    len(A)

      计算A的元素个数。

    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    cou = len(l1)
    print(cou)

    结果:

     

    .count('A')

      统计A元素的个数。

    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    print(l1.count('taibai'))

    结果:

     

    .index()

      通过元素找索引,可以设置起始位置和结束位置。

    源码
    def index(self, value, start=None, stop=None): # real signature unknown; restored from __doc__
        """
        L.index(value, [start, [stop]]) -> integer -- return first index of value.
        Raises ValueError if the value is not present.
        """
        return 0
    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    print(l1.index('alex', 2))

    结果:

    .sort()

    从小到大,正序排序

    l2 = [1, 3, 5, 9, 7, 6, 2, 4]
    l2.sort()
    print(l2)

    结果:

    从大到小,倒序排序

    l2 = [1, 3, 5, 9, 7, 6, 2, 4]
    l2.sort(reverse=True)
    print(l2)

     结果:

    .reverse()

      翻转

    l2 = [1, 3, 5, 9, 7, 6, 2, 4]
    l2.reverse()
    print(l2)

    结果:

     

  • 相关阅读:
    12_RHEL7.1普通用户添加sudo权限
    11_RHEL安装Maya2015
    10_RHEL安装搜狗输入法
    Fedora21源配置与显卡安装
    Centos7下Intel与AMD双显卡驱动的安装
    09_linux下安装Nvidia显卡驱动
    firewall-cmd --reload 防火墙
    CSS 单行 多行文本溢出显示省略号
    css3 渐变色
    Error: Cannot find module 'gulp-sass'
  • 原文地址:https://www.cnblogs.com/ZN-225/p/9587960.html
Copyright © 2020-2023  润新知