如何删除列表项中的字符(Python)

2024-10-01 00:14:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在学习python,我制作了一个快速的成绩计算器,它可以检查第一个字母是D表示日成绩,还是m表示专业成绩(专业的权重不同于日成绩)。但是,一旦我把D和M移到它们各自的列表中,我就需要删除它们。我该怎么做呢?帮我个忙,简单点:D

grades = ['D 85', 'D 100', 'M 20', 'D 70']

我有代码,把每天的成绩在适当的名单,反之亦然,主要。你知道吗

Daily = ['D 85', 'D 100', 'D 70']
Major = ['M 20']

现在我需要从列表中的每一项中删除D和M。 每日更换不起作用,我试着

for i in list: 
   for c in i:
      newdaily.replace('D',"")

大名单也一样。 我该怎么办?你知道吗


Tags: 代码in列表for专业字母计算器list
3条回答

看起来你真的很想把绳子分开,从两部分中取第二部分。如果你只拿一根绳子,你就可以用它

'D 85'.split()[1] # "85"

要对整个列表执行此操作:

grades = ['D 85', 'D 100', 'M 20', 'D 70']
numeric_grades = [g.split()[1] for g in grades]

要知道上面没有任何东西可以将字符串转换成int,但是可以很容易地添加

numeric_grades = [int(g.split()[1]) for g in grades]

你可以试试这样的。你知道吗

raw_grades = ["D 85", "D 100", "M 20", "D 70"]
chars_to_replace = ["D", "M"]

sanitized_grades = []

for i in raw_grades:
    for char in chars_to_replace:
        i = i.replace(char,"")

    sanitized_grades.append(i.strip())

print(sanitized_grades) # ['85', '100', '20', '70']

希望这有帮助。你知道吗

与其说是更换,不如说是剪线。据我所知,你想先剪一两个字?你知道吗

grade = "D 85"
grade[2:]
> "85"

字符串是一个数组,您可以请求它的某些部分。[2:]表示从第三个字符(我们从0开始计数)到结束。你知道吗

编辑: 要处理所有成绩并删除第一个字符并将结果存储到新列表(gradesClean):

grades = ["D85", "D100", "M20", "D70"]
gradesClean = []
for g in grades:
    gradesClean.append(g[1:])

gradesClean
> ['85', '100', '20', '70']

相关问题 更多 >