我真的很努力制作Python代码。任何帮助将非常感激。我需要编写代码的功能如下。由于数字是输入中的字符串,我知道我无法通过学生的姓名进行单独分隔,我想我必须以某种方式将数字转换为int/float,然后以某种方式将名单按名称分成子列表(即按字符串)但我不知道如何做到这一点。我知道我可以使用map(int,)将东西变成int,但它似乎没有工作,并且等级数(即。我需要变成浮点数)可以与任何输入有所不同将仅有字符串的列表转换为带有字符串和浮点数的Python子列表
谢谢!
代码:
def string_list(L):
'''(list of str) -> list of list
Given a list of strings where each string has the format:
'name, grade, grade, grade, ...' return a new list of
lists where each inner list has the format :
[name (str), grade, grade, grade, ...] where the name
is a string and the grades are floats.
>>> string_list(['Joe, 60, 90, 80', 'Harry, 60, 70', 'Jill, 98.5, 100, 95.5, 98'])
[['Joe', 60.0, 90.0, 80.0], ['Harry', 60.0, 70.0], ['Jill', 98.5, 100.0, 95.5, 98.0]]
'''
尝试打破问题了。你会得到一个大字符串,其中包含姓名和成绩。你怎么能把这些碎片分开? (提示:看看你的输入字符串的格式!) – bnaecker
感谢您的提示!每个人的名字与他们的成绩是一个单独的字符串,所以我会看看,如果我可以以某种方式拆分每个字符串,然后可能从那里将数字转换为int。 – Rir8
为了好玩(并且提醒你我们在Python中有多容易......)我[在Haskell中实现了这个](https://gist.github.com/NotTheEconomist/6e129c9f015d39100ccaa4079f140f64)。公平地说,我重新实现了'Data.Text'包中存在的'splitOn'和'strip'。我打算没有进口,但发现定义'Data.Char(isSpace)'是很乏味的。 –