使用列表理解将字符串列表转换为列表列表

Convert List of Strings to List of Lists using List Comprehension

我试过这个:

l = ['cat', 'dog', 'fish']
ll = [list(x) for x in l]
print(ll)

我明白了

[['c', 'a', 't'], ['d', 'o', 'g'], ['f', 'i', 's', 'h']]

我需要的是

[['cat'], ['dog'], ['fish']]

而不是简单地调用 list 构造函数(它将字符串分解为其字符):

ll = [[x] for x in l]

对于 l 元素的每次迭代,都会创建一个嵌套列表,其中包含单个项目 x

只是 return 一个列表而不是拆分字符串:

l = ['cat', 'dog', 'fish']
ll = [[x] for x in l]
print(ll)

你可以试试这个:

l = ['cat', 'dog', 'fish']
ll = [[x] for x in l]
print(ll)

这会将每个元素转换为数组。您使用 list() 函数所做的是将单词转换为 个字符 .

的数组

如果您要查找的输出实际上是

[['cat'], ['dog'], ['fish']]

然后解决方案,如上所述,是用方括号包装的列表理解:

l = ['cat', 'dog', 'fish']
ll = [[x] for x in l]
print(ll)

输出:

[[cat], [dog], [fish]]

但是,如果您要查找的输出与您在 post 中显示的输出完全相同,则您需要使用格式化字符串:

l = ['cat', 'dog', 'fish']
ll = f"[[{'] ['.join(l)}]]"
print(ll)

输出:

[[cat], [dog], [fish]]