代码优化任务:
有这样一个元组列表:
['Moscow','NewYork', 2), ('Washington','London', 1), ('London','NewYork', 4)]
从中你需要得到这个:
[('Moscow', 'NewYork'), ('Washington', 'London'), ('London', 'NewYork')]
那些。仅提取每个元组的前 2 个元素。
除了使用列表推导和 Pandas 库之外,还有什么巧妙的方法吗?
我的代码:
# исходный список картежей
list_of_tuples_big = [('Moscow','NewYork', 2), ('Washington','London', 1), ('London','NewYork', 4)]
# с помощью генератора оставим только первые два элемента каждого кортежа
list_of_tuples_small = [(city1, city2) for city1, city2, _ in list_of_tuples_big]
PS 元组作为列表的元素是一种约定,它可以被列表替换。
如果你想通过函数,那么你也可以使用函数:
这个生成器对你来说看起来更优雅吗?: