转换列表的STR对象到一个列表对象
问题描述:
我有一个这样的名单:转换列表的STR对象到一个列表对象
[['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字符
答
您可以使用list comprehension和isinstance()
:
>>> 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'], ['.']]
上帝保佑你@alecxe –