面试题答案
一键面试- 使用
for
循环直接遍历字典
my_dict = {'a': 1, 'b': 2, 'c': 3}
for key in my_dict:
print(key)
- **性能与适用场景**:这种方式简洁明了,在Python中,字典本身就是可迭代对象,默认迭代的就是键。适用于大多数普通场景,性能也较为高效,因为它直接利用了字典的迭代器。
2. 使用keys()
方法遍历
my_dict = {'a': 1, 'b': 2, 'c': 3}
for key in my_dict.keys():
print(key)
- **性能与适用场景**:`keys()`方法返回一个可迭代的视图对象,它反映了字典的键的动态变化。在Python 3中,`keys()`返回的不是列表,所以不会额外占用大量内存。适用于需要明确操作字典键的视图的场景,性能上与直接遍历字典基本相同。
3. 使用list()
将keys()
转换为列表后遍历
my_dict = {'a': 1, 'b': 2, 'c': 3}
key_list = list(my_dict.keys())
for key in key_list:
print(key)
- **性能与适用场景**:这种方式先将字典的键转换为列表,然后遍历列表。这样做会额外占用内存,因为创建了一个新的列表对象。适用于需要对键进行列表相关操作(如排序等)的场景,在进行这些操作后再遍历。但如果仅仅是遍历,不建议使用,因为性能会比前两种方式略差。