使用Python中的List Comprehension映射嵌套列表?

kjf*_*tch 9 python list-comprehension list nested-lists map-function

我有以下代码用于在Python中映射嵌套列表以生成具有相同结构的列表.

>>> nested_list = [['Hello', 'World'], ['Goodbye', 'World']]
>>> [map(str.upper, x) for x in nested_list]
[['HELLO', 'WORLD'], ['GOODBYE', 'WORLD']]
Run Code Online (Sandbox Code Playgroud)

这可以单独使用列表理解(不使用map函数)吗?

Eli*_*ght 14

对于嵌套列表,您可以使用嵌套列表推导:

nested_list = [[s.upper() for s in xs] for xs in nested_list]
Run Code Online (Sandbox Code Playgroud)

我个人觉得map在这种情况下更干净,尽管我几乎总是更喜欢列表理解.所以这真的是你的呼唤,因为任何一个都可行.


Stu*_*erg 5

记住 Python 的禅意:

通常有不止一种——可能还有几种——明显的方法来做到这一点。**

** 注意:为准确起见进行了编辑。

反正我更喜欢地图。

from functools import partial
nested_list = map( partial(map, str.upper), nested_list )
Run Code Online (Sandbox Code Playgroud)