python面试题目100个(更新中预计10天更完)
python学的都忘差不多了,现在开始捡吧
1、一行代码实现1-100之和
print(sum(range(1, 101)))
2、可变类型和不可变类型的区别
可变类型(mutable):创建后可以直接修改其内部数据,不会生成新对象(内存地址不变),常见类型(3个):list、dict、set
eg:
不可变类型(immutable):创建后无法修改其内部数据,任何修改操作都会生成一个新的对象,常见类型(6个):int、str、float、tuple、bool、None
eg:
3、is和==
4、求出列表所有奇数并构建新列表
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
new_numbers = [num for num in numbers if num % 2 != 0]
print(new_numbers) # 输出:[1, 3, 5, 7, 9]
5、字符串“123”转成数字123不使用内置api,例如int()
6、请写出一个函数满足以下条件 该函数的输入是一个仅包含数字的list,其中在列表中筛选出的每一个元素要满足以下条件:①该元素是偶数②并且该元素在原list中是在偶数的位置(index是偶数)
7、输入某年某月某日,判断这一天是这一年的第几天?
8、输入一段字符串,输出字符出现的次数
9、写一个类,并让他能尽可能多的支持操作符
10、python的内存管理机制及调优手段
11.说一下字典的属性
在 Python 中,字典(Dictionary)是一种键值对(key-value) 形式的无序数据结构,用于存储具有映射关系的数据。
创建空字典:
empty_dict = {}或者empty_dict = dict()
1.字典的基本结构
用 {} 定义,内部由多个 键: 值 对组成,键值对之间用逗号分隔
格式:{key1: value1, key2: value2, …}
示例:存储学生信息的字典
student = {"name": "riky","age": 18,"major": "Computer Science"
}
2.字典的键(key)必须满足的规则
①唯一性:同一个字典中,键不能重复(重复的键会被最后一个覆盖)
dict1 = {"a": 1, "a": 2}
print(dict1) # 输出:{"a": 2}(后定义的覆盖前一个)
②不可变性:键必须是不可变类型(int、str、float、tuple、bool、None),列表、字典,集合等可变类型不能作为键
valid_dict = {"name": "riky", # 字符串作为键(合法)123: "number", # 数字作为键(合法)(1, 2): "tuple" # 元组作为键(合法)
}
invalid_dict = {[1, 2]: "list" # 列表作为键(报错:TypeError)此代码报错报错报错!!!
}
3. 字典的值(value)的规则
可以是任意类型(字符串、数字、列表、字典等)且可以重复
dict2 = {"a": 100,"b": [1, 2, 3], # 列表作为值"c": {"x": 1}, # 字典作为值"d": 100 # 值可以重复
}
4. 字典的常用操作
访问值
student = {"name": "riky", "age": 18}
print(student["name"]) # 输出:riky(通过键访问)
print(student.get("age")) # 输出:18(通过get()方法访问)
键不存在时的区别:
print(student["gender"]) # 报错:KeyError
print(student.get("gender", "未知")) # 输出:未知(get()可设置默认值)
新增键值对(键不存在时)
student["gender"] = "Female"
print(student) # 输出:{"name": "riky", "age": 18, "gender": "Female"}
修改值(键已存在时)
student["age"] = 19
print(student) # 输出:{"name": "riky", "age": 19, "gender": "Female"}
删除键值对
student = {"name": "riky", "age": 18}
del student["age"] # 删除指定键
print(student) # 输出:{"name": "riky"}
student.clear() # 清空字典
print(student) # 输出:{}
关于遍历键,值,键值对
5. 字典的特性
无序性:Python 3.7 之前的字典是无序的,3.7 及以后版本保证插入顺序(但仍不支持索引访问)
可变性:字典可以动态添加、修改、删除键值对
高效性:通过键访问值的时间复杂度为 O (1),比列表查询更高效
字典的核心规则可概括为:
键(key):唯一、不可变(字符串 / 数字 / 元组)
值(value):任意类型、可重复
操作:通过键访问 / 修改值,支持增删改查和遍历
字典是 Python 中最常用的数据结构之一,适合存储具有映射关系的数据(如配置信息、用户信息等)。