为了账号安全,请及时绑定邮箱和手机立即绑定

从字符串中删除 "

从字符串中删除 "

阿晨1998 2021-08-17 18:44:13
with open("p022_names.txt","r") as f:    for line in f:        name=[str(v) for v in line.split(",")]name.sort()print(name)tot=0for i in range(len(name)):    tot=tot+sum(ord(letter)-64 for letter in name[i])print(tot)从文件中读取数据时,它还会在名称中添加“和”。如果名称是 COLIN,它会在列表名称中保存为“COLIN”。我该如何解决?输入文件。"MARY","PATRICIA","LINDA","BARBARA","ELIZABETH","JENNIFER","MARIA","SUSAN","MARGARET","DOROTHY","LISA","NANCY","KAREN","BETTY","HELEN","SANDRA","DONNA","CAROL","RUTH","SHARON","MICHELLE","LAURA","SARAH","KIMBERLY","DEBORAH","JESSICA","SHIRLEY","CYNTHIA","ANGELA","MELISSA","BRENDA","AMY","ANNA","REBECCA","VIRGINIA","KATHLEEN","PAMELA","MARTHA","DEBRA","AMANDA","STEPHANIE","CAROLYN","CHRISTINE","MARIE","JANET","CATHERINE","FRANCES","ANN","JOYCE","DIANE","ALICE","JULIE","HEATHER","TERESA","DORIS","GLORIA","EVELYN","JEAN","CHERYL","MILDRED","KATHERINE","JOAN","ASHLEY","JUDITH","ROSE","JANICE","KELLY","NICOLE","JUDY","CHRISTINA","KATHY","THERESA","BEVERLY","DENISE","TAMMY","IRENE","JANE","LORI","RACHEL","MARILYN","ANDREA","KATHRYN","LOUISE","SARA","ANNE","JACQUELINE","WANDA","BONNIE","JULIA","RUBY","LOIS","TINA","PHYLLIS","NORMA","PAULA","DIANA","ANNIE","LILLIAN","EMILY","ROBIN","PEGGY","CRYSTAL","GLADYS","RITA","DAWN","CONNIE","FLORENCE","TRACY","EDNA","TIFFANY","CARMEN","ROSA","CINDY","GRACE","WENDY","VICTORIA",输出 ['"MARY"','"..."','"..."',..]
查看完整描述

3 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞

如果您想从字符串中删除这些字符,您可以执行以下操作:


s = s.replace("\"","")


这将"用空字符串替换所有实例。


如果您只想将它们从字符串的末端移除,您可以这样做


s = s.strip("\"")


如果您想确保只从每一端删除一个引号,您可以执行以下操作:


if s.startswith("\""):

    s = s[1:]

elif s.endswith("\""):

    s = s[:-1]

如果您知道字符串将始终带有引号,则可以将其简化为:


s = s[1:-1]

然而,这个文件似乎是一个 csv 文件,使用csvlib解析这些文件要好得多。


查看完整回答
反对 回复 2021-08-17
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

这是我的解决方案。它支持以逗号分隔的行中的多个名称,也支持文件中的多行。


names = []

with open('p022_names.txt') as f:

    for line in f:

        names.extend(v.lower().strip('"').strip("'") for v in line.split(","))


names.sort()


for name in names:

    tot = sum(ord(letter)-96 for letter in name)

    print("{0}: {1}".format(name, tot))


查看完整回答
反对 回复 2021-08-17
  • 3 回答
  • 0 关注
  • 187 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信