猿问

将列表的一部分作为列表

我有一个清单 lst

lst = ['Hi', 'Hello', '4', '71.5', '', '71.5', '', '68.1', '', '69', '', '69.4', '', '69.4', '', '70.3', '73.3', '']

我想按原始列表的一部分创建一个新列表:在第三个元素之后,所有其他元素都在列表中,忽略空字符串。

lst = ['Hi', 'Hello', '4', [71.5, 68.1, 69.0, 69.4, 69.4, 70.3, 73.3]]

(lst[2:]).split()在第三个元素忽略空字符串并将它们作为数字放入列表后尝试。


HUH函数
浏览 204回答 2
2回答

胡子哥哥

你可以这样做:lst = ['Hi', 'Hello', '4', '71.5', '', '71.5', '', '68.1', '', '69', '', '69.4', '', '69.4', '', '70.3', '73.3', '']result = lst[:3] + [[float(e) for e in lst[3:] if e]]print(result)输出['Hi', 'Hello', '4', [71.5, 71.5, 68.1, 69.0, 69.4, 69.4, 70.3, 73.3]]

呼如林

或filter+ map(有点长):lst = lst[:3]+[list(filter(lambda i: type(i)==float,map(lambda x: float(x) if x else x,lst[3:])))]现在:print(lst)是:['Hi', 'Hello', '4', [71.5, 71.5, 68.1, 69.0, 69.4, 69.4, 70.3, 73.3]]
随时随地看视频慕课网APP

相关分类

Python
我要回答