如何在Python中将字符串列表连接到一个字符串中

时间:2017-06-18 09:22:06

标签: python string python-2.7 join

我正在尝试使用.join()方法将字符串列表连接到一个字符串中。但是,似乎结果仍然是相同的,输出仍然产生一个字母列表而不是一个单词。这是相关的代码:

import sys
import traceback
import weka.core.jvm as jvm
#import wekaexamples.helper as helper
from weka.core.converters import Loader
from weka.classifiers import Classifier


def main(args):
# load a dataset
 loader = Loader(classname="weka.core.converters.ArffLoader")
 train = loader.load_file("C:/Users/Syahirah/Desktop/Train_FYP.arff")
 train.class_index = train.num_attributes - 1
 test = loader.load_file("C:/Users/Syahirah/Desktop/Test_FYP_prediction.arff")
 test.class_is_last()

# classifier
 cls = Classifier(classname="weka.classifiers.bayes.NaiveBayes")
 cls.build_classifier(train)

# output predictions
#print("ID - actual - predicted ")
 for index, inst in enumerate(test):
    #print "\n", inst
    varinst = str(inst)
    #print type(varinst),varinst
    split_inst = varinst.split(',') 
    kata = split_inst[1]
    semua = ' '.join(kata)
    print semua

这是输出:

T h e
c u s t o m e r s
a r e
a l l o w e d
t o
r e s e r v e
r o o m
o n l i n e
'
b y
t h e
w a y
t h e y
a b l e
t o
c h a n g e
o r
c a n c e l
t h e i r
r e s e r v a t i o n

所需的输出应该是这样的:

The customers are allowed to reserve room online, by the way they able to 
change or cancel their reservation

1 个答案:

答案 0 :(得分:2)

在.py文件的第一行添加此行:

from __future__ import print_function

接下来,更改这些行:

semua = ' '.join(kata)
print semua

要:

semua = ''.join(kata)
print(semua, end='')

您希望确保不在不需要的位置添加空格和换行符。