zoukankan      html  css  js  c++  java
  • 4 列表 元组

    一.列表的增删改查
    列表是可变数据类型 有序 可以存储任意数据类型
    1.增
    lis.append(元素) 追加 #返回值为None
    lis.insert(索引,元素) #在索引位置插入元素
    lis.extend(元素) 迭代添加

    2.删
    1. pop() 默认删除最后一个
    pop(索引值) 有返回值
    2.remove(元素) 移除第一个元素
    3.del lis[start,end,step] 切片删除

    4.clear()清空

    3.改
    li[index]="元素"
    切片修改
    lis[1:3]=[元素1,元素2]
    如果切片步长为不是1,需要注意元素个数 如果切片步长为1则不需要注意元素个数

    4.查
    for i in lis:
    print(i)
    for i in range(len(lis)):
    print(i,lis[i])
    5.其他操作
    lis.sort() #升序
    lis.sort(reverse=True)# 降序
    lis.reverse()#反转,倒着排
    lis.count(元素) 数数
    len(lis)
    lis.index(元素)

    二.元组 tuple 只读列表
    1.不可变数据类型: 不可变指的是元组的第一层元素内存地址不可变
    2.子元素内部是否可变,取决于子元素是否是可变数据类型
    3.当元组中只有一个元素时需要在后面用逗号分隔开 t=(1,)
    t1=(1)
    print(t1,type(t1)) # 1 <class 'int'>
    t2=(1,)
    print(t2,type(t2)) #(1,) <class 'tuple'>

    4.元组的方法
    tup.count(元素)
    tup.index(元素)
    len(tup)

    for i in rup:
    print(i)


    三.作业易错点和思路总结
    1. str.strip(ab) #迭代删除前后的a和b
    name="baformAaab"
    移除name变量开头的a"与最后的"b",并输出处理结果
    print(name.strip("ab") #结果:formA

    2.str.capitalize() #只有首字母大写,其他字母都变为小写
    print(name.capitalize()) #结果:Baformaaab

    3.int("1 ") 会自动去空格,转化出数字类型

    4.思路
    1.累加思想 打印字符串,1个,2个,3个.......
    str2="中国是一个伟大的国家"
    需求:
    分别打印: 中 , 中国 ,中国是,.......
    sum=""
    for i in str2:
    print(sum)
    sum+=i

    四.经典案例
    #一.百家姓
    s = """
    赵钱孙李,周吴郑王。
    冯陈褚卫,蒋沈韩杨。
    朱秦尤许,何吕施张。
    孔曹严华,⾦魏陶邓。
    """
    
    name=input("请输入姓名:").strip()
    s2=s.replace(",","").replace("。","").replace("
    ","").strip() #先把逗号和句号替换成空字符串
    # 方法一:
    sum=""
    for i in name :
        sum+=i
        if sum in s:
            print("在百家姓中")
            break
    else:
        print("不在百家姓中")
    # 方法二:
    flag=0
    for i in name:
        sum+=i
        if sum in s:
            flag+=1
    
    if flag==0:
        print("不在")
    else:
        print("在")
    
    # 二.判断是否是回文
    
    # 方法一: 切片思路
    content=input("请输入一句话:")
    if content==content[::-1]:
        print("是回文")
    else:
        print("不是回文")
    # 
    # 方法二:用while 循环
    # 倒着排列好再判断
    # 如何实现倒着排列:
    
    content=input("请输入一句话:")
    i=len(content)-1
    sum=""
    while i>=0:
        # 1.需要倒着取索引值---->通过索引获取元素
        # 2.再用字符串拼接------>累加思想
        sum+=content[i]
        i-=1
    print(sum)
    if sum==content:
        print("是回文")
    else:
        print("不是回文")
    
    #方法二  用for 循环
    
    content=input("请输入一句话:")
    # print("用户输入的内容:",content)
    sum=""
    li=[]
    for i in content:
        li.append(i)
    li.reverse()
    for i in li:
        sum+=i
    # print("用户输入内容倒着排:",sum)
    
    if sum==content:
        print("是回文")
    else:
        print("不是回文")
    

      

  • 相关阅读:
    二分法查找
    全排列 递归实现 c 语言实现
    南阳oj 题目290 动物统计加强版 字典树
    蛇形填数
    南阳理工oj 题目289 苹果 01背包
    南阳理工 oj 题目38 布线问题
    南阳理工oj 题目85 有趣的数 Cantor数表
    CSU-1110 RMQ with Shifts (单点更新+区间最小值 zkw线段树)
    POJ-2387 Til the Cows Come Home
    HDU-2680 Choose the best route
  • 原文地址:https://www.cnblogs.com/knighterrant/p/9830304.html
Copyright © 2011-2022 走看看