Python 如何拆分列表中的元素?
我有一份清单:Python 如何拆分列表中的元素?,python,list,split,Python,List,Split,我有一份清单: my_list = ['element1\t0238.94', 'element2\t2.3904', 'element3\t0139847'] 如何删除\t及其后的所有内容以获得此结果: ['element1', 'element2', 'element3'] 比如: >>> l = ['element1\t0238.94', 'element2\t2.3904', 'element3\t0139847'] >>> [i.split('\
my_list = ['element1\t0238.94', 'element2\t2.3904', 'element3\t0139847']
如何删除\t
及其后的所有内容以获得此结果:
['element1', 'element2', 'element3']
比如:
>>> l = ['element1\t0238.94', 'element2\t2.3904', 'element3\t0139847']
>>> [i.split('\t', 1)[0] for i in l]
['element1', 'element2', 'element3']
尝试遍历列表中的每个元素,然后在制表符处拆分它并将其添加到新列表中
for i in list:
newList.append(i.split('\t')[0])
不要使用列表作为变量名。 您也可以查看以下代码:
clist = ['element1\t0238.94', 'element2\t2.3904', 'element3\t0139847', 'element5']
clist = [x[:x.index('\t')] if '\t' in x else x for x in clist]
或就地编辑:
for i,x in enumerate(clist):
if '\t' in x:
clist[i] = x[:x.index('\t')]
我必须将特征提取列表分为两部分lt、lc:
ltexts = ((df4.ix[0:,[3,7]]).values).tolist()
random.shuffle(ltexts)
featsets = [(act_features((lt)),lc)
for lc, lt in ltexts]
def act_features(atext):
features = {}
for word in nltk.word_tokenize(atext):
features['cont({})'.format(word.lower())]=True
return features
这是可行的,但列表理解是一种更好的方法,我几乎能理解这一点。split参数中的1在做什么?我假设帕伦斯之后的索引是0。这是不是通过使用“我曾经是什么”的第零个元素来创建一个新列表?那么1是否只是另一个拆分,有效地去除了OP所需的字符串的其余部分呢?因为列表包含字符串,所以变量i是一个字符串。因此i.split('\t',1)调用字符串的split()方法。根据,此方法的第一个参数是要拆分的字符串,第二个参数是要执行的最大拆分次数。该方法返回执行拆分后产生的字符串列表,因此“[0]”返回结果列表中的第一个拆分字符串。当我为自己的代码尝试此操作时,它返回一个错误,即“list”对象没有“split”属性。“我不知道该怎么解决这个问题。”keitereth24,罗马人分割的字符串列表。你可以有一个列表
ltexts = ((df4.ix[0:,[3,7]]).values).tolist()
random.shuffle(ltexts)
featsets = [(act_features((lt)),lc)
for lc, lt in ltexts]
def act_features(atext):
features = {}
for word in nltk.word_tokenize(atext):
features['cont({})'.format(word.lower())]=True
return features