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

如何删除列表中项目中的字符(Python),python,python-3.x,list,Python,Python 3.x,List,我正在学习python,我制作了一个快速的成绩计算器,它可以检查第一个字母是D表示每日成绩,还是m表示主修成绩,主修成绩的权重不同于每日成绩。但是,一旦我将D和M移动到它们各自的列表中,我就需要实际删除它们。我该怎么做呢?帮我个忙,保持简单:D 等级=['D85','D100','M20','D70'] 我有代码,把每天的成绩放在适当的列表中,反之亦然 Daily = ['D 85', 'D 100', 'D 70'] Major = ['M 20'] 现在我需要从列表中的每个项目中删除D和M

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

等级=['D85','D100','M20','D70']

我有代码,把每天的成绩放在适当的列表中,反之亦然

Daily = ['D 85', 'D 100', 'D 70']
Major = ['M 20']
现在我需要从列表中的每个项目中删除D和M。 daily.replace不起作用,我尝试了

for i in list: 
   for c in i:
      newdaily.replace('D',"")
主要名单也是如此。 我该怎么做呢?

您可以使用remove 例如:

您可以使用“删除” 例如:


与其说是更换,不如说是割断绳子。据我所知,你想先剪一两个字

grade = "D 85"
grade[2:]
> "85"
字符串是一个数组,您可以请求它的某些部分。[2:]表示从第三个字符开始,我们从0个字符开始计数

编辑: 要处理所有等级并删除第一个字符并将结果存储在新的列表等级清理:


与其说是更换,不如说是割断绳子。据我所知,你想先剪一两个字

grade = "D 85"
grade[2:]
> "85"
字符串是一个数组,您可以请求它的某些部分。[2:]表示从第三个字符开始,我们从0个字符开始计数

编辑: 要处理所有等级并删除第一个字符并将结果存储在新的列表等级清理:


你可以试试这样的

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']

希望这有帮助。

你可以试试这样的东西

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']

希望这能有所帮助。

看起来你真的想拆分字符串,并从两部分中选择第二部分。如果你只拿一根绳子,你可以用它

'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]

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

'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]
内置条带函数也可以在这里工作,具有列表理解功能

>>> grades = ["D 85", "D 100", "M 20", "D 70"]
>>> grades_num = [ele.strip('D ').strip('M ') for ele in raw_grades]
['85', '100', '20', '70']  # output
内置条带函数也可以在这里工作,具有列表理解功能

>>> grades = ["D 85", "D 100", "M 20", "D 70"]
>>> grades_num = [ele.strip('D ').strip('M ') for ele in raw_grades]
['85', '100', '20', '70']  # output

你的成绩表是字符串列表吗?e、 g grades=['d85','d100','m20','d70']?这实际上取决于您希望如何处理输出。如果输入是D85,由于有空格,您真的要删除第一个字符还是前两个字符?您的成绩列表是字符串列表吗?e、 g grades=['d85','d100','m20','d70']?这实际上取决于您希望如何处理输出。如果输入为D 85,由于有空格,您真的要删除第一个字符还是前两个字符?谢谢您的回复!我试图从列表中的项目中删除一个字符。如何删除[D 100,D 39]第一项的第一个字符。感谢您的回复!我试图从列表中的项目中删除一个字符。如何删除[D 100,D 39]第一项的第一个字符。感谢您的回复!如何使用此选项删除列表中每个项目的第一个字符。感谢您的回复!如何使用此选项删除列表中每个项目的第一个字符。感谢您的回复!谢谢你的回复!