• 列表、元组、range


    1、for循环套for循环:

    for i in "abc":

      for x in "egf:
        print(x)

    结果是:e

        g

        f

        e

        g

        f

        e

        g

        f

     2、99乘法表:

    for m in range(1,10):
    for n in range(1,m+1):
    print('%s×%s=%s'%(m,n,m*n),end=' ')
    print()
    结果如下:

    1×1=1
    2×1=2 2×2=4
    3×1=3 3×2=6 3×3=9
    4×1=4 4×2=8 4×3=12 4×4=16
    5×1=5 5×2=10 5×3=15 5×4=20 5×5=25
    6×1=6 6×2=12 6×3=18 6×4=24 6×5=30 6×6=36
    7×1=7 7×2=14 7×3=21 7×4=28 7×5=35 7×6=42 7×7=49
    8×1=8 8×2=16 8×3=24 8×4=32 8×5=40 8×6=48 8×7=56 8×8=64
    9×1=9 9×2=18 9×3=27 9×4=36 9×5=45 9×6=54 9×7=63 9×8=72 9×9=81

    3、列表--Python中数据结构之一

    lst = [1,"alex"]  每个元素用逗号分隔

    列表的作用(容器):存储大量数据、存储不同数据类型的数据、每一个内容是一个元素。

    4、append在末尾追加:

    lst = ["python学习手册","核心编程"]

    print(lst.append("流畅的python")    #这是打印往书包里面增加书的动作

    print(lst)                #打印书包

    5、图解如下:

    6、insert插入:参数1是要插入位置的下标、参数2是要插入的内容、尽量少使用insert、

    7、extend()扩展(迭代添加)、不能添加整型数字

    8、remove通过元素名删除、从左向右、一次只能删除一个。

    9、pop默认删除列表中最后一个并且有返回值、返回的内容是被删除的元素、通过索引pop(1)进行删除、

    10、clear清空

    11、del删除整个列表、加索引:del li[1:3]

    12、修改图解:

    13、使用切片时、获取的内容就是切片的原数据本身。

    14、切片获取的内容空间是连续的时候、修改时内容可以多可以少。

    15、切片获取的内容空间是不连续的时候、修改时内容必须一一对应。

    16、列表是可变数据类型、可迭代数据类型、有序的数据结构。

    17、列表嵌套

    18、元组就是一个不可变的列表。

    19、元组是一个有序、可迭代、不可变数据类型。

    20、元组的应用场景:为了防止误操作时修改数据、元组中存放一些重要数据。

    21、配置文件中存储数据。

    22、range()范围、使用步长添加位置。

    作业题:

    #23、写代码,有如下列表,按照要求实现每一个功能
    li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
    # 计算列表的长度并输出
    print(len(li))
    for i in li:
    print(i)
    # 列表中追加元素"seven",并输出添加后的列表
    a = li.append("seven")
    print(li)
    # 请在列表的第1个位置插入元素"Tony",并输出添加后的列表
    li.insert(1,"Tony")
    print(li)
    # 请修改列表第2个位置的元素为"Kelly",并输出修改后的列表
    li[2] = "Kelly"
    print(li)
    # 请将列表l2=[1,"a",3,4,"heart"]的每一个元素添加到列表li中,一行代码实现,不允许循环添加。
    l2=[1,"a",3,4,"heart"]
    li.extend(l2)
    print(li)
    print(li.extend(l2))
    # 请将字符串s = "qwert"的每一个元素添加到列表li中,一行代码实现,不允许循环添加。
    s = "qwert"
    li.extend(s)
    print(li)
    # 请删除列表中的元素"ritian",并输出添加后的列表
    li.remove("ritian")
    print(li)
    # 请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表
    a = li.pop(1)
    print(a)
    print(li)
    # 请删除列表中的第2至4个元素,并输出删除元素后的列表
    del li[1:3]
    print(li)
    # 24、写代码,有如下列表,利用切片实现每一个功能
    li = [1, 3, 2, "a", 4, "b", 5,"c"]
    # 通过对li列表的切片形成新的列表l1,l1 = [1,3,2]
    print(li[:3])
    # 通过对li列表的切片形成新的列表l2,l2 = ["a",4,"b"]
    print(li[3:6])
    # 通过对li列表的切片形成新的列表l3,l3 = ["1,2,4,5]
    print(li[::2])
    # 通过对li列表的切片形成新的列表l4,l4 = [3,"a","b"]
    print(li[1:7:2])
    # 通过对li列表的切片形成新的列表l5,l5 = ["c"]
    print(li[-1])
    # 通过对li列表的切片形成新的列表l6,l6 = ["b","a",3]
    print(li[-3::-2])
    # 25、写代码,有如下列表,按照要求实现每一个功能。
    lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
    # 将列表lis中的"tt"变成大写(用两种方式)。
    lis[3][2][1][0] = "TT"
    print(lis)
    # 将列表中的数字3变成字符串"100"(用两种方式)。
    #第一种方式:
    lis[1] = str(100)
    print(lis)
    print(type(lis[1]))
    #第二种方式:
    # lis[2][2][1][1] = str(lis[2][2][1][1] + 97)
    # 将列表中的字符串"1"变成数字101(用两种方式)。
    lis[3][2][1][2] = 101
    print(lis)
    # 26、请用代码实现:
    li = ["alex", "wusir", "taibai"]
    # 利用下划线将列表的每一个元素拼接成字符串"alex_wusir_taibai"
    print("_".join(li))
    # 27、利用for循环和range打印出下面列表的索引。
    li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
    for i in range(len(li)):
    print(i)
    # 28、利用for循环和range找出100以内所有的偶数并将这些偶数插入到一个新列表中。
    li = []
    for i in range(101):
    if i % 2 == 0:
    li.append(i)
    print(li)
    # 29、利用for循环和range 找出50以内能被3整除的数,并将这些数插入到一个新列表中。
    #第一种写法:
    lis = []
    for i in range(0,50):
    if i % 3 == 0:
    lis.append(i)
    print(lis)
    #第二种写法:
    lst = []
    for i in range(0,50,3):
    lst.append(i)
    print(lst)
    # 30、利用for循环和range从100~1,倒序打印。
    for i in range(100,0,-1):
    print(i)
    # 31、利用for循环和range从100~10,倒序将所有的偶数添加到一个新列表中,然后对列表的元素进行筛选,将能被4整除的数留下来。
    li1 = []
    for i in range(100,9,-1):
    if i % 2 == 0 and i % 4 == 0:
    li1.append(i)
    print(li1)
    # 32、利用for循环和range,将1-30的数字一次添加到一个列表中,并循环这个列表,将能被3整除的数改成*。
    lis = []
    index = 0
    for i in range(30):
    lis.append(i)
    for i in lis:
    if i % 3 == 0:
    lis[index] = "*"
    index += 1
    print(lis)
    # 33、查找列表li中的元素,移除每个元素的空格,并找出以"A"或者"a"开头,并以"c"结尾的所有元素,并添加到一个新列表中,最后循环打印这个新列表。
    li = ["TaiBai ", "alexC", "AbC ", "egon", " riTiAn", "WuSir", " aqc"]
    #第一种写法先替换再添加:
    lis = []
    for j in li:
    i = j.replace(" ","")
    if (i.startswith("A") or i.startswith("a")) and i.endswith("c"):
    lis.append(i)
    print(lis)
    #第二种写法先判断再去除空白添加:
    for k in li:
    if (k.strip().startswith("A") or k.strip().startswith("a")) and k.strip().endswith("c"):
    lis.append(k.strip())
    print(lis)
    # 34、开发敏感词语过滤程序,提示用户输入评论内容,如果用户输入的内容中包含特殊的字符:敏感词列表 li = ["老师苍", "东京比较热", "武兰", "波多"]、则将用户输入的内容中的敏感词汇替换成等长度的*(老师苍就替换***),并添加到一个列表中;如果用户输入的内容没有敏感词汇,则直接添加到上述的列表中。
    li = ["老师苍", "东京比较热", "武兰", "波多"]
    lst = []
    content = input("请输入内容:") #今天的东京比较热老师苍就去找波多一起打武兰
    for i in li:
    if i in content:
    content = content.replace(i,len(i) * "**")
    lst.append(content)
    print(lst)
    # 35、有如下列表(选做题)
    li = [1, 3, 4, "alex", [3, 7, 8, "TaiBai"], 5, "RiTiAn"]
    # 循环打印列表中的每个元素,遇到列表则再循环打印出它里面的元素。
    #第一种写法函数式:
    def task(li):
    for i in li:
    if type(i) != list:
    print(i)
    else:
    task(i)
    task(li)
    #第二种写法isinstance判断:
    for x in li:
    if isinstance(x, list):
    for y in x:
    print(y)
    else:
    print(x)
    #第三种写法:range和len
    for y in range(len(li)):
    if isinstance(li[y], list):
    for z in li[y]:
    print(z)
    else:
    print(li[y])
    #第四种写法:for循环和if判断式
    for i in li:
    if type(i) == list:
    for j in i:
    if type(j) == str:
    j = j.lower()
    print(j)
    else:
    if type(i) == str:
    i = i.lower()
    print(i) #print缩进去只打印字符串、不缩进去打印字符串和数字
    # 我想要的结果是:
    # 1
    # 3
    # 4
    # alex
    # 3
    # 7
    # 8
    # taibai
    # 5
    # ritian
    #36、for循环最外层默认打印可迭代的最后一个元素
    # for i in "abc":
    # pass
    # print(i)
  • 相关阅读:
    第三周作业(二):分析代码
    第三周作业(一):安装VS以及创建单元测试
    作业:随机四则运算
    分数化简算法
    对应用软件:游戏-《上古卷轴5》的点评
    软件工程始发随想
    Siamese Network介绍
    YOLO v3算法介绍
    Residual Network和Inception Network网络架构介绍
    使用迁移学习(Transfer Learning)完成图像的多标签分类(Multi-Label)任务
  • 原文地址:https://www.cnblogs.com/zhang-da/p/11576079.html
Copyright © 2020-2023  润新知