将列表的str对象转换为一个列表对象

时间:2016-04-25 15:55:18

标签: python

我有一个这样的清单:

[['Yar\\u0131n'], ',', ['Mehmet'], 'ile', 'birlikte', ["Ankara'da", 'ki', 'Nufus', "Mudurlugu'ne"], ',', ['Aziz', 'Y\\u0131ld\\u0131r\\u0131m'], 'ile', 'birlikte', ',', ['Sukru', 'Saracoglu', "Stad\\u0131'na"], 'gidecegiz', '.']

有没有办法让我的所有列表元素都成为一个列表对象?

我希望我的列表如下:

[['Yar\\u0131n'], [','], ['Mehmet'], ['ile'], ['birlikte'], ["Ankara'da", 'ki','Nufus', "Mudurlugu'ne"], [','], ['Aziz', 'Y\\u0131ld\\u0131r\\u0131m'], ['ile'], 'birlikte', ',', ['Sukru', 'Saracoglu', "Stad\\u0131'na"], 'gidecegiz', '.']

克服这些非ascii字符也是如此有用

1 个答案:

答案 0 :(得分:5)

您可以使用list comprehensionisinstance()

>>> l = [['Yar\\u0131n'], ',', ['Mehmet'], 'ile', 'birlikte', ["Ankara'da", 'ki', 'Nufus', "Mudurlugu'ne"], ',', ['Aziz', 'Y\\u0131ld\\u0131r\\u0131m'], 'ile', 'birlikte', ',', ['Sukru', 'Saracoglu', "Stad\\u0131'na"], 'gidecegiz', '.']
>>> [[item] if not isinstance(item, list) else item for item in l]
[['Yar\\u0131n'], [','], ['Mehmet'], ['ile'], ['birlikte'], 
 ["Ankara'da", 'ki', 'Nufus', "Mudurlugu'ne"], [','], 
 ['Aziz', 'Y\\u0131ld\\u0131r\\u0131m'], ['ile'], ['birlikte'], [','], 
 ['Sukru', 'Saracoglu', "Stad\\u0131'na"], ['gidecegiz'], ['.']]