我正在尝试完成一个练习,其中我有一个列表:
list_1 = ['chocolate;1.20', 'book;5.50', 'hat;3.25']
我需要将其转换为另一个列表,格式如下:
list_2 = [['chocolate', 1.20], ['book', 5.50], ['hat', 3.25]]
在第二个列表中,数字必须为浮点数且不含 ' '。
到目前为止,我已经编写了以下代码:
for item in list_1:
list_2.append(item.split(';'))
输出结果看起来大致正确:
[['chocolate', '1.20'], ['book', '5.50'], ['hat', '3.25']]
但是我该如何将这些数字转换为浮点数并去除双引号呢?
我尝试了:
for item in list_2:
if(item.isdigit()):
item = float(item)
获取:
AttributeError: 'list' object has no attribute 'isdigit'
list_2
的中间赋值。list_3 = [[y[0], float(y[1])] for x in list_1 for y in [x.split(';')]]
- Chrislist_2
在其他地方是必需的,否则它们都可以在不创建整个额外列表的情况下完成相同的工作。 - Chris