zoukankan      html  css  js  c++  java
  • python学习第十三、十四天


    python内置函数图:

    https://www.processon.com/mindmap/5bdc30b9e4b0e4521338ce35




    # # # lambda() #匿名函数
    # ### 练习:
    # n = lambda a,b: a+b
    # print(n(2,3))
    #
    # # 用 lambda 计算字符串长度
    # # a = lambda n : len(n)

    # lst = ['金克斯','阿卡丽','阿狸','Vn','大嘴','德玛西亚皇子']
    # # 按照文字长短来排序
    # def func(s):
    # return len(s)
    #
    # s = sorted(lst , key=func) # 把列表中的每一个元素传递给func,
    # print(s)

    # # 按照年龄排序
    # lst = [
    # {'id':1,'name':'alex','age':28},
    # {'id':2,'name':'taibai','age':58},
    # {'id':3,'name':'taihei','age':18},
    # {'id':4,'name':'henhei','age':38}
    # ]
    # def func(dic):
    # return dic['age']
    #
    # s = sorted(lst , key=func)
    # print(s)





    # # # filter() 筛选
    # ### 练习:
    # lst = ['金克斯','阿卡丽','阿狸','Vn','大嘴','德玛西亚皇子']
    #
    # # 把后面的可迭代对象(lst)中的元素交给前面(f)的函数。根据返回值True或者False,判断是否保留该元素
    # f = filter(lambda s : len(s) > 2 , lst)
    # print(f)
    # print('__iter__' in dir(f))
    # for el in f:
    # print(el)

    # # 筛选年龄大于等于38的人
    # lst = [
    # {'id':1,'name':'alex','age':28},
    # {'id':2,'name':'taibai','age':58},
    # {'id':3,'name':'taihei','age':18},
    # {'id':4,'name':'henhei','age':38}
    # ]
    # f = filter(lambda dic:dic['age'] >= 38 , lst)
    # for el in f:
    # print(el)






    # # # map() 映射
    # # 把可迭代对象中的每一个元素拿出来交给前面的函数执行。保留最后执行结果。
    # ### 练习:
    # # 计算列表中每一项的平方
    # lst = [2,5,64,6,3,2,5,8,4,]
    # m = map (lambda x: x**2 , lst)
    # for el in m:
    # print(el)

    # # 给出一个列表判断正确的用户名和密码:
    # # ["alex_123", "alex_456", "wusir_123", "wusir_456", "alex_789"]
    # # 正确的用户名: alex
    # # 密码:456
    # lst = ["alex_123", "alex_456", "wusir_123", "wusir_456", "alex_789"]
    # m = map (lambda x : x == 'alex_456' ,lst)
    # for el in m:
    # print(el)
    # lst1 = list(map (lambda x : x == 'alex_456' ,lst))
    # print(lst1)






    # # # 递归
    # # 函数自己调用自己
    # import os
    # def func(path,ceng):
    # lst = os.listdir(path) #打开一个文件夹。获取文件夹中的所有内容
    # for el in lst: #当前文件夹的所有文件名(包括文件夹名字)
    # # 拼接文件的真实路径
    # file_real_path = os.path.join(path,el)
    # # 判断这路径是文件还是文件夹
    # if os.path.isdir(file_real_path):
    # print(' '*ceng,el)
    # # 递归的入口
    # func(file_real_path,ceng+1) # 重新执行刚刚的操作
    # else: # 不是文件夹,是文件
    # # 递归的出口
    # print(' '*ceng,el)
    # func('d:/a',0)
    # # os : 和操作系统相关的一些功能
    # # os.listdir() : 帮我们打开一个文件夹,返回文件夹内的所有内容(文件的名字)
    # # os.path.join : 拼接文件的真是路径
    # # os.path.isdir(路径) : 判断是文件还是文件夹(True为文件夹,False为文件)







    ## 判断用户输入的数字是否存在在列表中
    lst = [4, 56, 178, 253, 625, 1475, 2580, 3574, 15963]
    ## 普通版:
    # num = int(input('请输入一个数字:'))
    # for el in lst:
    # if num == int(el):
    # print('True')
    # break
    # else:
    # print('False')
    # 二分法:
    # left = 0 # 左边界
    # right = len(lst) - 1 # 末尾索引 右边界
    # num = int(input('请输入一个数字:'))
    # while left <= right: # 当左边界大于右边界结束循环
    # mid = (left + right) // 2 # 求中间索引坐标
    # if num < lst[mid]: #判断数字与中间值的大小
    # right = mid - 1 # 右边界往左移
    # elif num > lst[mid]: #判断数字与中间值的大小
    # left = mid + 1 # 左边界往右移
    # else:
    # print('True') # 找到目标数字
    # break
    # else: # 当左比右大,结束循环,没有找到目标数字
    # print('None')
    ## 使用递归的二分法
    # def binary_search(lst, n, left, right):
    # if left > right:
    # return False
    # mid = (left + right) // 2
    # if n < lst[mid]:
    # right = mid - 1
    # return binary_search(lst, n, left, right)
    # elif n > lst[mid]:
    # left = mid + 1
    # return binary_search(lst, n, left, right)
    # else:
    # print('找到了')
    # return True
    #
    # n = int(input('请输入一个数字:'))
    # ret = binary_search(lst, n, 0, len(lst)-1)

  • 相关阅读:
    oo第三单元学习总结
    oo第二单元学习总结
    OO第四单元UML作业总结兼OO课程总结
    OO第三单元JML作业总结
    OO第二单元电梯作业总结
    OO第一单元总结
    OOUnit4Summary
    OOUnit3Summary
    OOUnit2Summary
    OOUnit1Summary
  • 原文地址:https://www.cnblogs.com/EuanXu/p/9911972.html
Copyright © 2011-2022 走看看