• 将一个列表中0移到列表的最后


    第一题,将一个列表中0移到列表的最后。两种方法实现
    方法一:
    思路:
    1 声明两个空列表,循环列表arr判断是否为0,然后分别放0和非0的列表
    2 然后两个列表相加
    arr = [0,1,-1,0,2,3,0]
    zero_list = []
    non_zero_list = []
    for i in arr:
        if i==0:
            zero_list.append(0)
        else:
            non_zero_list.append(i)
    
    print(non_zero_list + zero_list)

    方法二:

    需要2次遍历:
    第一次遍历,如果是0,则进行第二次遍历
    第二次遍历逻辑,就是从当前位置和后面所有的元素交换一次位置
    [1,0,-1,0,2,3,0]
    [1,-1,0,0,2,3,0]
    [1,-1,0,0,2,3,0]
    [1,-1,0,2,0,3,0]
    [1,-1,0,2,3,0,0]
    [1,-1,0,2,3,0,0]
     
    arr = [1,0,2,0,2,0,0]
    for i in range(len(arr)):
        if arr[i]== 0:
            for j in range(i,len(arr)-1):
                if arr[j+1]!=0:
                    arr[i],arr[j+1]=arr[j+1],arr[i]
                    break
    
    print(arr)

    当第一层循环遇到0的时候
    执行第二层循环:
    当前位置的元素和后面所有元素中的第一个非0元素进行值的交换
    然后退出第二层循环
    [1,0,2,0,2,0,1]
    [1,2,0,0,2,0,1]
    [1,2,2,0,0,0,1]
    [1,2,2,1,0,0,0]
    [1,2,2,1,0,0,0]

    第二题,写一个int函数,可以将整数的字符串转化为数字
    def int(s):
        num_map = {str(i):i for i in range(10)}
        if not isinstance(s,str):
            raise TypeError
        for i in s:
            if i not in "0123456789":
                raise ValueError
        result  = 0
        x=len(s)-1
        for i in range(len(s)):
            result +=num_map[s[i]]*10**x
            x-=1
        return result
    
    print(int("123")
  • 相关阅读:
    开辟空间以存放一个结构体变量
    用结构体变量的引用作函数参数
    用指向结构体变量的指针作实参
    结构体变量作函数参数
    简单链表
    指向结构体变量的指针的应用
    结构体数组应用举例
    对候选人得票的统计程序
    引用结构体变量中的成员
    对三个变量按由小到大的顺序排序
  • 原文地址:https://www.cnblogs.com/wenm1128/p/11757101.html
Copyright © 2020-2023  润新知