栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python1.递归访问目录 2.定义一个嵌套函数 3.定义一个递归函数:打印斐波那契数列 4.对列表进行排序: 5.利用map函数: 计算三个列表,相同位置元素之和 6.利用filter函

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python1.递归访问目录 2.定义一个嵌套函数 3.定义一个递归函数:打印斐波那契数列 4.对列表进行排序: 5.利用map函数: 计算三个列表,相同位置元素之和 6.利用filter函

1.递归访问目录

前导知识:

1.切换目录: os.chdir(path)
2.列出当前目录中所有的文件和文件夹 os.listdir(path), path: 绝对路径
3.判断是否是文件: os.path.isfile(path)
4.判断是否是目录: os.path.isdir(path)
5.拼接路径: os.path.join(path1, path2, path3…)
且目录中嵌套目录,有层次的列出给定目录中所有的文件和文件夹

import os


def listdir(path, count=0):
    list_dir = os.listdir(path)
    for i in list_dir:
        path1 = os.path.join(path + "/", i)
        if os.path.isdir(path1):
            print(count * "    ", i)
            count1 = count + 1
            listdir(path1, count1)
        else:
            print(count * '    ', i)


listdir('D://text')

2.定义一个嵌套函数
def outer():
    print('this is outing function')

    def inner():
        print('this is inner function')

    return inner


outer()()
3.定义一个递归函数:打印斐波那契数列
def fibonacci_seq(arg):
    if arg == 0:
        return 0
    if arg == 1:
        return 1
    if arg >= 2:
        return fibonacci_seq(arg - 1) + fibonacci_seq(arg - 2)


print(fibonacci_seq(9))  # 34
4.对列表进行排序:

list_data = [“grape”, “peach”, “berry”, “pineapple”, “apple”, “strayberry”, “watermelon”]
排序规则:按照最后一个字符进行排序,如果最后一个字符相等,按照第一个字符排序

list_data = ["grape", "peach", "berry", "pineapple", "apple", "strayberry", "watermelon"]
 
 
def sort_role(x):
    return x[-1], x[0]
 
 
# list_data.sort(key=sort_role)
list_data.sort(key=lambda x: (x[-1], x[0]))
print(list_data)
5.利用map函数: 计算三个列表,相同位置元素之和
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list3 = [7, 8, 9]
sum_list = map(lambda x, y, z: (x+y+z), list1, list2, list3)
# print(sum_list)  # 返回的是一个map对象
print(list(sum_list))
# 结果:[12, 15, 18]
6.利用filter函数过滤列表中所有带a的字符串
list_data = ["grape", "what", "which", "you", "friend", "am"]
result = filter(lambda x: 'a' not in x, list_data)
# print(result)  # 返回一个filter类型的对象
print(list(result))
# 结果:['which', 'you', 'friend']
7.利用reduce计算1 + 2 + 3…+ 100之和
from functools import reduce
list_data = list(range(1, 101))
# print(list_data)
result = reduce(lambda x, y: x+y, list_data)
print(result)  # 结果:5050
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1009839.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号