• 列表及其他操作方法


    li = [123, '老男孩', True, [1, 2, 3], {'name': 'alex'}, (1, 2, 3)
    列表称之为容器型数据类型。

    列表的取值

    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']

    1,按照索引取值:

    print(l1[0])       #(wusir)
     print(l1[1], type(l1[1]))
    View Code

    2,按照切片取值:

    print(l1[:3])      #['wusir', True, 'alex'] 
    View Code

    列表的增删改查及其他方法:

    增;

    1,append追加

    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    l1.append('女神')
    print(l1)   #['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai', '女神']
    l1.append(123)
    l1.append([1, 2, 1111])
    print(l1)
    View Code

    添加员工姓名:

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

    2,insert插入:

    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    l1.insert(2, '哪吒')
    print(l1)   #['wusir', True, '哪吒', 'alex', 'laonanhai', 'ritian', 'taibai']
    View Code

    3,extend迭代着追加:

    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    l1.extend('abcd')
    l1.extend([1, 2, 3, 4, 'abc'])
    print(l1)  #['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai', 'a', 'b', 'c', 'd', 1, 2, 3, 4, 'abc']
    View Code

    删:

    1,POP按照索引去删除,有返回值

    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    ret = l1.pop(0)
    print(ret)
    print(l1)
    View Code

    2,remove 按照元素删除:

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

    3,clear清空列表:

    l1 = [123, '老男孩', True, [1, 2, 3], {'name': 'alex'}, (1, 2, 3)]
    l1.clear()
    print(l1)
    View Code

    4,del

    1),在内存级别删除:

    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    del l1
    print(l1)          报错
    View Code

    2,按照索引删除:

    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    del l1[2]
    print(l1)     #['wusir', True, 'laonanhai', 'ritian', 'taibai']
    View Code

    3,切片删除+步长:

    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    del l1[:-1]
    print(l1)    
     del l1[:3:2]
    print(l1)
    View Code

    改:

    1,按照索引去改

    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    l1[0] = '肖锋'
    print(l1)    #['肖锋', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    1[-1] = '男神'
    print(l1)
    View Code

    2,按照切片去改,先将切片的区域内的内容全部删除,在迭代着添加内容。

    l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
    l1[:3] = '范德萨发给ghfkhgh;'
    #['范', '德', '萨', '发', '给', 'g', 'h', 'f', 'k', 'h', 'g', 'h', ';', 'laonanhai', 'ritian', 'taibai']
    l1[:3] = [1111, 2222, 3333, 4444]
    print(l1)
    View Code

    1,按照索引去查

    2,按照切片去查

    3,按照for循环去查

    l1 = [11,22,33,44,55,66,]
    for i in l1:
    print(i)

    其他操作方法:

    len个数

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

    count 元素个数

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

    Index 通过元素找索引:

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

    sort 从小到大,正序排序:

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

    sort 从小到大,正序排序:

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

    reverse 翻转

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

    列表的嵌套

    习题练习

    print(l1[2])
    l2 = l1[2]
    l2[1] = l2[1].strip().capitalize()
    l1[2][1] = l1[2][1].strip().capitalize()
    print(l1)
    l1[2].append('舒淇')
    print(l1)
    View Code
    l1 = ['wusir', 'alex', [99, ' taibai', '98'], 21]

    1,将wusir变成全部大写。

    l1[0] = 'WUSIR'
    print(l1)      #['WUSIR', 'alex', [99, ' taibai', '98'], 21]
    print(l1[0].upper())
    l1[0] = l1[0].upper()
    print(l1)
    View Code

    2,将'taibai'变成首字母大写,其他字母小写,放回原处。

    print(l1[2])
    l2 = l1[2]
    l2[1] = l2[1].strip().capitalize()
    l1[2][1] = l1[2][1].strip().capitalize()
    print(l1)
    l1[2].append('舒淇')
    print(l1)
    View Code

    3,用数字的相加将99变成字符串的‘100’

    l1[2][0] = str(l1[2][0] + 1)
    print(l1)
    View Code

    4,字符串的‘98’变成数字的100。

    l1[2][2] = int(l1[2][2]) + 2
    print(l1)
    View Code

    元组  只读列表,不能增删改 只能查询,儿子能改,孙子不能改

    索引,切片,步长:

    tu = (11, 22, 33, 44, 55)
    print(tu[0])      #11
    print(tu[:3:2])
    for i in tu:
        print(i)
    View Code

    只能查看不能修改。

    tu1 = ('wusir', 'alex', [22, 44, 'taibai'],)
    tu1[-1].append('女神')
    print(tu1)            (空的,元组只能查看,不能修改)
    View Code
    tu1 = ('wusir', 'alex', [22, 44, 'taibai'],)
    l1 = [22,33]
    l1.append(tu1)
     print(l1)
    # l1.clear()
    # print(l1)
    # del tu1
    # print(tu1)
    View Code

    儿子能改,孙子不能改

    l2 = [1,('wusir', 'alex', [22, 44, 'taibai'],)]
    l2.clear()
    print(l2)
    View Code

    range当做自定义的数字范围列表,

    满足顾头不顾尾,可以加步长,与for 循环结合使用。与len for 结合使用

    补充:

    python2x: range 数字列表

                       xrange 可迭代对象

    python3x: range 可迭代对象。

    fori in range(0,100):

    for i in range(0, 101):    #[0,1,2,3,....100]
        print(i)
    for i in range(11):       # [0,1,2,3,....10]
        print(i)
    for i in range(0, 101, 3):
        print(i)      #(0,3,6,9,12......)
    for i in range(10, 0, -1):
        print(i)
    l1 = [22, 33, 33, 33, 66, 77, 88, 99]
    for i in l1:
        print(l1.index(i))
    for i in range(len(l1)):
        print(i)
    View Code
    利用for循环打印列表习题,循环里边套循环
    l1 = ['wusir', 'alex', [99, ' taibai', '98'], 21]
    for i in l1:
        if type(i) == list:
            for j in i:
                print(j)
        else:
    print(i)
    View Code

    面试题:

    l = [1,2,3]
    print(l[10:])
    print(l[10])
    View Code

     习题:

    1,查找列表li中的元素,移除每个元素的空格,并找出以’A’或者’a’开头,
    并以’c’结尾的所有元素,并添加到一个新列表中,最后循环打印这个新列表。
    li = ['TaiBai ', 'alexC', 'AbC ', 'egon', ' riTiAn', 'WuSir', '  aqc']
    l2 = []
    for i in li:
        i = i.strip()
        if i.upper()[0] == 'A' and i.endswith('c'):
            l2.append(i)
    print(l2)
    View Code
    2、开发敏感词语过滤程序,提示用户输入评论内容,如果用户输入的内容中包含特殊的字符:
    敏感词列表 li = ["苍老师", "东京热", "武藤兰", "波多野结衣"]
    则将用户输入的内容中的敏感词汇替换成***,并添加到一个列表中;
    如果用户输入的内容没有敏感词汇,则直接添加到上述的列表中。
    content = input('请您输入评论:').strip()  # 苍老师,退役了,武藤兰也退了
    list = []
    li = ["苍老师", "东京热", "武藤兰", "波多野结衣"]
    for i in li:
        i = i.strip()
        content = content.replace(i,'*'*len(i))  # ***,退役了,***也退了
    list.append(content)
    print(list)
    View Code
    3,写代码,有如下列表,按照要求实现每一个功能。
    lis = [2, 3, 'k', ['qwe', 20, ['k1', ['tt', 3, '1']], 89], 'ab', 'adv']
    lis[3][2][1][0]='TT'
    lis[3][2][1][0]=lis[3][2][1][0].upper()
    print(lis)
    1)将列表lis中的’tt’变成大写(用两种方式)
    lis[3][2][1][1] = "100"
    print(lis)
    lis[3][2][1][1] = str(lis[3][2][1][1]+97)
    print(lis)
    2)将列表中的数字3变成字符串’100’(用两种方式)。
    lis[-3][-2][-1][-1] = 101
    print(lis)
    lis[-3][-2][-1][-1] = int('10' + lis[-3][-2][-1][-1])
    print(lis)
    3)将列表中的字符串’1’变成数字101(用两种方式)。
  • 相关阅读:
    调试JavaScript/VB Script脚本程序(ASP篇)
    成功接收来自Internet的邮件必须要做到的条件
    (转)Ext与.NET超完美整合 .NET开发者的超级优势
    如何防垃圾邮件用你的邮件服务器转发
    记录书籍名称
    GRE网站
    JAVA线程的缺陷
    【让这些电影给你“治病”】
    zoj题目分类
    Oracle to_char格式化函数
  • 原文地址:https://www.cnblogs.com/ls13691357174/p/9058531.html
Copyright © 2020-2023  润新知