web-dev-qa-db-fra.com

Comment diviser des éléments d'une liste?

J'ai une liste:

my_list = ['element1\t0238.94', 'element2\t2.3904', 'element3\t0139847']

Comment puis-je supprimer le \t et tout ce qui suit pour obtenir ce résultat:

['element1', 'element2', 'element3']
72
user808545

Quelque chose comme:

>>> l = ['element1\t0238.94', 'element2\t2.3904', 'element3\t0139847']
>>> [i.split('\t', 1)[0] for i in l]
['element1', 'element2', 'element3']
84
Roman Bodnarchuk
myList = [i.split('\t')[0] for i in myList] 
29
dave

Essayez de parcourir chaque élément de la liste, puis de le séparer au caractère de tabulation et de l'ajouter à une nouvelle liste.

for i in list:
    newList.append(i.split('\t')[0])
7
caltangelo

N'utilisez pas la liste comme nom de variable. Vous pouvez également consulter le code suivant:

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]

Ou édition sur place:

for i,x in enumerate(clist):
    if '\t' in x:
        clist[i] = x[:x.index('\t')]
4
Artsiom Rudzenka

J'ai dû diviser une liste pour l'extraction de caractéristiques en deux parties, 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
0
Max Kleiner