Python中 Lambda 函数的 20 个创意示例

B站影视 2025-02-02 13:53 1

摘要:students = [("Alice", 25), ("Bob", 30), ("Charlie", 20)]students.sort(key=lambda student: student[1])print(students) # Output: [('

Python 中的 lambda 函数就像一个迷你函数,可以快速创建并使用而无需命名它。

它也被称为“匿名”或“内联”函数,因为不会像使用关键字def的常规函数那样为其指定专有名称。

Lambda 函数有时称为“自定义函数”,因为可以为特定目的定义它们并当场自定义它们。它们就像用于特定任务的定制工具。

以下 Lambda 函数示例:

students = [("Alice", 25), ("Bob", 30), ("Charlie", 20)]students.sort(key=lambda student: student[1])print(students) # Output: [('Charlie', 20), ('Alice', 25), ('Bob', 30)]numbers = [1, 2, 3, 4, 5, 6]even_numbers = list(filter(lambda x: x % 2 == 0, numbers))print(even_numbers) # Output: [2, 4, 6]numbers = [1, 2, 3, 4, 5]squared = list(map(lambda x: x**2, numbers))print(squared) # Output: [1, 4, 9, 16, 25]names = ['Alice', 'Bob', 'Charlie']scores = [85, 92, 78]student_info = list(map(lambda x, y: (x, y), names, scores))print(student_info) # Output: [('Alice', 85), ('Bob', 92), ('Charlie', 78)]numbers = [1, 2, 3, 4, 5]doubled = [(lambda x: x * 2)(num) for num in numbers]print(doubled) # Output: [2, 4, 6, 8, 10]students = [{'name': 'Alice', 'score': 85}, {'name': 'Bob', 'score': 92}]students.sort(key=lambda student: student['score'])print(students) # Output: [{'name': 'Alice', 'score': 85}, {'name': 'Bob', 'score': 92}]Example 9: Using Lambda with Recursionwords = ['apple', 'banana', 'cherry', 'date', 'fig']words.sort(key=lambda word: len(word))print(words) # Output: ['date', 'fig', 'apple', 'banana', 'cherry']Example 11: Extracting Initials from Namesnames = ['Alice Johnson', 'Bob Smith', 'Charlie Brown']initials = list(map(lambda name: ''.join(word[0] for word in name.split), names))print(initials) # Output: ['AJ', 'BS', 'CB']Example 12: Generating fibonacci Sequencefrom functools import reducefibonacci = lambda n: reduce(lambda x, _: x + [x[-1] + x[-2]], range(n - 2), [0, 1])print(fibonacci(10)) # Output: [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]import randomroll_dice = lambda: random.randint(1, 6)print("You rolled a", roll_dice) # Output: A random number between 1 and 6calculator = lambda x, y, op: (x + y) if op == 'add' else (x - y) if op == 'subtract' else (x * y) if op == 'multiply' else (x / y) if op == 'divide' else Noneresult = calculator(5, 3, 'multiply')print("Result:", result) # Output: 15reverse_list = lambda lst: lst[::-1]original_list = [1, 2, 3, 4, 5]reversed_list = reverse_list(original_list)print(reversed_list) # Output: [5, 4, 3, 2, 1]fahrenheit_to_celsius = lambda f: (f - 32) * 5/9print(fahrenheit_to_celsius(98.6)) # Output: 37.0 (approximately)count_vowels = lambda s: sum(1 for char in s if char.lower in 'aeiou')print(count_vowels("Hello, World!")) # Output: 3import timestart_timer = lambda: time.timeend_timer = lambda start_time: time.time - start_timestart = start_timertime.sleep(2)print("Elapsed time:", end_timer(start)) # Output: Elapsed time: 2.0 (approximately)import stringimport randomgenerate_password = lambda length: ''.join(random.choice(string.ascii_letters + string.digits) for _ in range(length))password = generate_password(8)print("Generated Password:", password) # Output: A random 8-character password

来源:自由坦荡的湖泊AI

相关推荐