Python(7)

这篇博客介绍了Python的一些实用编程技巧,包括如何递归访问目录,定义嵌套和递归函数,对列表进行特定规则排序,使用map、filter和reduce函数。递归函数展示了打印斐波那契数列,而列表操作部分则涵盖了按字符排序和组合列表元素的和。此外,还展示了如何过滤掉包含特定字符的字符串。
摘要由CSDN通过智能技术生成

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

import os
os.chdir("C:\JavaDev")   #切换目录
print(os.listdir())   #1.列出当前目录中所有的文件和文件夹

print(os.path.isfile("C:\JavaDev"))   #2.判断是否是文件

print(os.path.isdir("C:\JavaDev"))   #3.判断是否是目录

print(os.path.split("C:\JavaDev" "C:\Program Files\Oracle"))   #4.拼接路径

结果:在这里插入图片描述2.定义一个嵌套函数
外层函数打印:This is outing function
内层函数打印:This is inner function

def outer():
    def inner():
        print("This is inner function")
    inner()
    print("This is outing function")
outer()

结果:
在这里插入图片描述
3.定义一个递归函数:打印斐波那契数列
F[n] = F[n - 1] + F[n - 2] (n>=2,F[0]=0,F[1]=1)

def fibonacci(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fibonacci(n-1) + fibonacci(n-2)
print([fibonacci(x) for x in range(10)])

结果:
在这里插入图片描述
4.对列表进行排序: list_data = [“grape”, “peach”, “berry”, “pineapple”, “apple”, “strayberry”, “watermelon”]
排序规则:按照最后一个字符进行排序,如果最后一个字符相等,按照第一个字符排序

list_data = ["grape", "peach", "berry", "pineapple", "apple", "strayberry", "watermelon"]
rule = lambda x: (x[-1], x[0])
list_data.sort(key=rule)
print(list_data)

结果:
在这里插入图片描述
5.利用map函数: 计算三个列表,相同位置元素之和
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list3 = [7, 8, 9]

list1 = [1, 2, 3]
list2 = [4, 5, 6]
list3 = [7, 8, 9]
i = map(lambda x, y, z: (x + y + z), list1, list2, list3)
print(list(i))

结果:
在这里插入图片描述
6.利用filter函数过滤列表中所有带a的字符串
list_data = [“grape”, “what”, “which”, “you”, “friend”, “am”]

list_data = ["grape", "what", "which", "you", "friend", "am"]
print(list(filter(lambda x: "a" in x, list_data)))

结果:
在这里插入图片描述
7.利用reduce计算1 + 2 + 3…+ 100之和

from functools import reduce
data = reduce(lambda x, y: x+y, list(range(1, 101)))
print(data)

结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值