拆分字符串并为其分配变量

时间:2013-05-06 04:58:31

标签: python string list split

我从我的学校成绩网站上获取信息并将其作为一个长字符串输出,这是输出:

[u'--']
[u'B', u'84']
[u'--']
[u'A-', u'90']
[u'--']
[u'C+', u'79']
[u'--']
[u'A', u'95']
[u'--']
[u'B', u'82']
[u'--']
[u'B', u'81']

我用它来获得输出

for cell in driver.find_elements_by_css_selector(".grid tr a[href$='fg=S2']"):
    gradesList = cell.text.split('\n')
    print gradesList

我想为每个等级分配一个变量,但我不确定如何将它们全部分开到每个变量

1 个答案:

答案 0 :(得分:1)

看起来循环中的.split调用会返回不同数量的元素,具体取决于您正在查看的HTML标记。如果没有任何方法可以过滤掉那些坏标签,这里有一个干净的解析方法,必要时跳过元素:

for cell in driver.find_elements_by_css_selector(".grid tr a[href$='fg=S2']"):
    gradesList = cell.text.split('\n')
    if len(gradesList) < 2:
        continue

    letter_grade, score = gradesList

    # Use variables...

如果你能找到一种方法来避免使用“ - ”作为文本的元素(额外的CSS类?内容过滤器和你的解析器库?)我们可以得到一个很好的列表理解:

grade_elements = driver.find_elements_by_css_selector(".grid tr a[href$='fg=S2']")
grades = [g.text.split('\n') for g in grade_elements]