文本合并-如何在Python中实现这一点?(R来源)
我尝试过几种方法,但都无法将其转换为Python,特别是因为我有以下错误: “str”对象不支持项分配 R可以使用以下代码执行相同的操作:文本合并-如何在Python中实现这一点?(R来源),python,r,text,Python,R,Text,我尝试过几种方法,但都无法将其转换为Python,特别是因为我有以下错误: “str”对象不支持项分配 R可以使用以下代码执行相同的操作: f<-0 text<- c("foo", "btextr", "cool", "monsttex") for (i in 1:length(text)){ f[i]<-paste(text[i],text[i+1], sep = "_") } f 如果您能帮助我为Python做同样的事情,我将不胜感激。谢谢。在R中,您的输出将是(
f<-0
text<- c("foo", "btextr", "cool", "monsttex")
for (i in 1:length(text)){
f[i]<-paste(text[i],text[i+1], sep = "_")
}
f
如果您能帮助我为Python做同样的事情,我将不胜感激。谢谢。在R中,您的输出将是(下次请在问题中添加此项): 在Python中。因此,您需要创建新字符串,例如:
new_strings = []
text = ['foo', 'btextr', 'cool', 'monsttex']
for i,t in enumerate(text):
try:
new_strings.append(text[i] + '_' + text[i+1])
except IndexError:
new_strings.append(text[i] + '_NA')
其结果是:
>>> new_strings
['foo_btextr', 'btextr_cool', 'cool_monsttex', 'monsttex_NA']
这项工作:
>>> from itertools import zip_longest
>>>
>>> f = ['foo', 'btextr', 'cool', 'monsttex']
>>>
>>> ['_'.join(i) for i in zip_longest(f, f[1:], fillvalue='NA')]
['foo_btextr', 'btextr_cool', 'cool_monsttex', 'monsttex_NA']
您能添加一些示例输入、所需输出、算法解释和解决方法吗?所以这不是一个编码服务。
“'.join(iterable)
我添加了OPs ScriptAzing的输出,非常感谢Bernie。这个问题困扰了我一整天!非常有用的答案。
>>> new_strings
['foo_btextr', 'btextr_cool', 'cool_monsttex', 'monsttex_NA']
>>> from itertools import zip_longest
>>>
>>> f = ['foo', 'btextr', 'cool', 'monsttex']
>>>
>>> ['_'.join(i) for i in zip_longest(f, f[1:], fillvalue='NA')]
['foo_btextr', 'btextr_cool', 'cool_monsttex', 'monsttex_NA']