繁体   English   中英

将非列表类型转换为直接列表

[英]Convert Non-List Type to List Directly

我有一个项目列表,我实际上是一个列表列表。 我见过的所有转换方法都将非列表项转换为单个字符的列表["12", "cat", 87][['1', '2'], ['c', 'a', 't'], ['8', '7']]而不是[['12'], ['cat'], [87]] 以下作品,

v_Data = ["12", "cat", 87]
for index, i in enumerate(v_Data):
    if type(i) != list:
        v_Data[index] = [i]
print(v_Data) ## [['12'], ['cat'], [87]]

有一个更好的方法吗?

使用Python 2.7

您可以使用list-comprehension

v_Data = ["12", "cat", 87]

[v if isinstance(v, list) else [v] for v in v_Data]
# [['12'], ['cat'], [87]]

你可以做 :

>>> a=["12", "cat", 87]
>>> b=[[i] for i in a]
>>> b
[['12'], ['cat'], [87]]

编辑 :如果您的列表中已经有列表:

>>> a=["12", "cat", 87, [23]]
>>> b=[[i] if type(i) is not list else i for i in a]
>>> b
[['12'], ['cat'], [87], [23]]

您可以使用列表理解:

v_Data = ["12", "cat", 87]

new = [[x] for x in v_Data]

如同:

v_Data = ["12", "cat", 87]

new = []
for x in v_Data:
    new.append([x])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM