我有一个数据集,如下所示:
ds=['North'、'Raw'、'Tree']、['Saw'、'Raw'、'Apple']、['Saw'、'Apple']、['Gum'、'Saw']、…]
数据集有21145个值。我已经在Jupyter中导入了这个数据集,并尝试运行下面的代码,将这个列表作为一个列表
代码:
list_1 = []
for sublist in ds:
for val in sublist:
list_1.append(val)
我得到的错误是:
1 list_1 = []
2 for sublist in ds:
3 for val in sublist: <---
4 list_1.append(val)
TypeError:“float”对象不可编辑
预期产出为:
列表_1=['North','Raw','Tree','Saw','Raw','Apple','Saw','Apple','Gum','Saw',…]
我觉得您的列表中可能有一些元素不是列表。例如,“ds”可能类似于[['a'、'b']、['c'、'd']、'e'、['f'、'g']…]中的任何一个,即列表和;单元素。上面的代码应该工作,因为这将考虑每个奇异元素作为列表中的“除”的情况下作为ANP;当“try”案例中出现错误时
您可以使用itertools.chainhttps://docs.python.org/3/library/itertools.html。我想这对你的情况很合适
使用
itertools.chain()
是这方面非常常见的习惯用法,但若您更喜欢列表理解,可以使用一行代码flattened = [j for i in lsts for j in i]
这可能更容易阅读
相关问题 更多 >
编程相关推荐