我想做的是:
mystr = i_return_a_string()
fst_part, snd_part = mystr[:4], mystr[4:]
但如果可以这样做(使用内置函数/方法),我会更高兴,如:
fst_part, snd_part = i_return_a_string().cut_at(4)
这有点像str.partition,区别在于我想指定索引。
有没有这方法?
如果没有,我最好的方式是什么?
在这个例子中,mystr
只需要作为(函数i_return_a_string
的)返回值的临时存储,永远不会被再次引用,这让我有点不舒服。
答案 0 :(得分:2)
总结所给出的评论(因为我不敢打开这个问题):
答案 1 :(得分:1)
如果您真的觉得有必要(尽管我认为使用mystr[:4], mystr[4:]
更有意义,就像在您的示例中一样),您可以使用正则表达式:
fst_part, snd_part = re.match(r'(.{4})(.*)', i_return_a_string()).groups()
答案 2 :(得分:0)
可能不是您正在寻找的确切语法,但也许这是你的小巷里的东西?
def i_return_a_string():
return "examplestring"
def cut_at(example_string, index):
return example_string[:index], example_string[index:]
fst_part, snd_part = cut_at(i_return_a_string(), 4)
print fst_part, snd_part