Pyhton初级试题 [ 迭代器、内置函数、递归函数 ]

本文提供了一系列Python初级试题,涵盖迭代器、内置函数、递归函数等知识点,旨在帮助初学者通过实践掌握Python编程基础。包括如何使函数可迭代、使用lambda表达式过滤列表、生成新列表以及解决经典斐波那契数列问题。

01 初级Python试题 [ 迭代器、内置函数、递归函数 ]

 1'''
 2迭代器以及内置函数、递归函数
 3authou :python测试社区
 4'''
 5
 6# 1. 将一个函数func(),变得可迭代,循环这个函数时,可以打印如下内容:
 7# 100
 8# 49
 9# 75
10# 18
11# 52
12# 84
13# 94
14# 26
15# 19
16# 11
17# 85
18# 29
19
20
21# 列表推导式: [Value,for循环,条件判断]
22# 字典推导式: [Key:Value ,for循环 ,条件筛选] 去除重复
23a = [100, 49, 75, 18, 52, 84, 94, 26, 19, 11, 85, 29, 79, 91, 63, 61, 29, 53, 76, 54, 49, 90, 95, 91, 71, 40, 44, 36,
24     99, 25]
25# 2. 请使用内置函数和lambda过滤掉小于50的数字(一行代码)
26
27a = ['zxcv', 'asdf', 'poiu', 'dachu']
28b = ['bnmk', 'qwer', 'xiaox', 'rtyui']
29# 3. 请使用内置函数和lambda获取列表a和列表b每一项相加后,前6个字母,并生成一个新列表(一行代码)
30# 第一项相加的结果为'zxcvbn'
31
32
33a = [100, 'dsd', 'qwe', 'ert', 'tyy', 'rrr', 49, 75, 18, 52, 84, 'dsd', 94, 26, 19, 11, 'dsd', 85, '2dsd', 9, 79, 91,
34     '63dsd', '', 61, 29, 53, 76, 'None', 44, 36, ' ', 99, 25]
35# 4. 使用内置函数过滤所有的非数字并排序,排序后生成一个新的列表,然后让所有的数字都加100(一行代码)
36
37
38# 5. 斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。后一个数是前两个数之和
39# 请用递归函数写出第10000个数对应的斐波那契数
40#

ps:先自行尝试解决,再查看答案 ,具体python学习视频可加小编微信进行获取(加好友请备明来意)

之前一篇文章也是基础试题从容易到难: Python编程基础习题 | 练习 | 巩固 |

这是小编分享的一份试题pdf感兴趣自行获取:肝了一夜的《Python编程试题》PDF 它来了!

02  初级Python试题 [ 答案 ]

Python 中进行**归一化(Normalization)**操作,通常是将数据缩放到一个特定的范围(如 [0, 1] 或 [-1, 1])。最常用的归一化方法是 **Min-Max 归一化(Min-Max Scaling)**。以下是几种常用的归一化函数和实现方法: --- ### ✅ 方法 1:使用 NumPy 实现 Min-Max 归一化(到 [0,1]) ```python import numpy as np def min_max_normalize(data): return (data - np.min(data)) / (np.max(data) - np.min(data)) # 示例 data = np.array([10, 20, 30, 40, 50]) normalized_data = min_max_normalize(data) print(normalized_data) ``` --- ### ✅ 方法 2:使用 sklearn 的 `MinMaxScaler`(适合二维数据) ```python from sklearn.preprocessing import MinMaxScaler scaler = MinMaxScaler() # 默认缩放到 [0,1] data = [[10], [20], [30], [40], [50]] normalized_data = scaler.fit_transform(data) print(normalized_data) ``` > 如果你想缩放到其他范围,比如 [-1, 1],可以这样: ```python scaler = MinMaxScaler(feature_range=(-1, 1)) ``` --- ### ✅ 方法 3:Z-Score 标准化(Standardization) 虽然不是严格意义上的“归一化”,但 Z-Score 是另一种常用的数据标准化方法,适用于分布不均的数据: ```python from sklearn.preprocessing import StandardScaler scaler = StandardScaler() data = [[10], [20], [30], [40], [50]] standardized_data = scaler.fit_transform(data) print(standardized_data) ``` --- ### ✅ 方法 4:使用 pandas 对 DataFrame 进行归一化 ```python import pandas as pd df = pd.DataFrame({'A': [10, 20, 30], 'B': [100, 200, 300]}) normalized_df = (df - df.min()) / (df.max() - df.min()) print(normalized_df) ``` --- ### ✅ 方法 5:L2 归一化(向量单位长度归一化) 适用于向量数据,常用于机器学习中的特征处理: ```python from sklearn.preprocessing import normalize X = [[1., 2., 3.], [4., 5., 6.]] normalized_X = normalize(X, norm='l2') print(normalized_X) ``` --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值