基本的python字符串

时间:2012-11-05 14:47:44

标签: python string

我们刚开始在CSCI课程中使用字符串,但我对最近的作业感到困惑。

  

给你一个很长的字符串:

"""Justin$Calculus$90$Java$85$Python88$
Taylor$Calculus$73$Java$95$Python86$
Drew$Calculus$80$Java$75$Python94$
"""
  

该字符串有三行。它包含三个学生的分数   三门课程。写一个函数findScore(student, subject)。什么时候   你调用函数findScore(‘Drew’,’Java’)这样的函数   打印“Drew got 75 of the course Java.”

     

除了findScore(student, subject)功能外,您还可以   写其他功能。所有功能都在一个程序中。

我认为我需要将此字符串分配给变量,但是我是使用一个变量,还是每行一个变量?

任何一个开始的想法将不胜感激。我是python的新手所以请耐心等待。此外,$标志的重要性是什么?

3 个答案:

答案 0 :(得分:6)

看看str.split。您可以使用它将字符串拆分为列表:

"foo bar baz".split()     #['foo','bar','baz'] (split on any whitespace)
"foo$bar$baz".split('$')  #['foo','bar','baz']

从这里开始,只需将字符串拆分为适当的列表,然后正确地遍历列表以挑选出所需的元素。

此外,您可以使用str.find来获取类名的索引,并使用切片拆分$之前将字符串拆分。这样可以更容易地获得特定分数(无需额外迭代):

s = 'foo$bar$baz'
s_new = s[s.find('bar'):]  #'bar$baz'
baz = s_new.split('$')[1]
print baz

答案 1 :(得分:1)

阅读此内容的便捷方法是使用csv模块。它适用于逗号分隔值,但您可以更改分隔符并改为使用$

您需要使用delimiter='$'作为reader的参数。

答案 2 :(得分:0)

将字符串存储在变量中,例如:

strs="""Justin$Calculus$90$Java$85$Python88$
Taylor$Calculus$73$Java$95$Python86$
Drew$Calculus$80$Java$75$Python94$
"""

使用for循环遍历strs.split(),即for line in strs.split() (使用strs.split()将返回一个包含所有行的列表,以空格分割)

现在每行使用line.rstrip("$").split('$'),它会在第一行返回这样的内容:

['Justin', 'Calculus', '90', 'Java', '85', 'Python88']

rstrip("$")会从

行中移除最右边的$