我有以下列表(实际的文件更大更复杂)
a = [[['3x5'], ['ff']], [['4x10'], ['gg']]]
我想对列表中的第一个元素使用split功能,并获取出现在“x”之后的值。在这种情况下,最终结果应该是5和10。我试着用这种格式拆分
for line in a:
print str(line[0]).split("x")[1]
但是输出是
5']
10']
我知道我可以很容易地操作输出得到5和10,但是在这种情况下使用split的正确方法是什么?你知道吗
我感兴趣的是对列表中的特定元素(本例中的第一个元素)使用split。你知道吗
你需要更深一层,不要在列表中使用str()。你知道吗
您不应该将列表添加到字符串对象,但是,您可以使用:
我认为您还需要将输出转换为int对象,然后您可以简单地添加一个
int()
,如下所示:但是,如果不需要将输出保存到列表中,而是打印出来,则可以使用相同的代码,但编写另一个版本:
输出:
请记住,当
a
为时,我的代码将失败(引发IndexError: list index out of range
)。。。例如[[['3x5'], ['ff']], [['kk'], ['gg']]]
(其中一个子列表中的第一个元素的格式不是'3x5'
)。你知道吗但是,一个简单的
if
可以解决这个问题:或者更好的方法是使用RegEx进行检查,这样可以避免类似
a = [[['3x5'], ['ff']], [['xxxxxxx'], ['gg']]]
:另一种方式,如果您不想
import re
:相关问题 更多 >
编程相关推荐