разделение элементов списка в Python



Я знаю, что это довольно простой вопрос, но я новичок в Python и не могу понять, как решить ее.



у меня есть список:



list = ['element1t0238.94', 'element2t2.3904', 'element3t0139847']


и я хочу удалить 't ' и все после. Я думал разделить каждый элемент на 't', чтобы я мог удалить все остальные элементы списка. Однако, когда я пытаюсь сделать list[0:].split('t') Я получаю AttributeError: 'список' объект не имеет атрибут 'сплит'. Я также попытался сделать весь список в строку, но это привело к целый ряд проблем. Любые предложения будут оценены.

1006   7  

7 ответов:

что-то типа:

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

попробуйте перебрать каждый элемент списка, затем разбить его на символе вкладки и добавить его в новый список.

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

просто преобразовать список в строку с str(variable) и затем использовать split() метод он будет работать

sentences = ("The cat ate a big mouse. This was becasue the mouse was annoying him")

import re

liste = re.findall(r"[\w']+|[.,!?;]", sentences)

nodu = []
for x in liste:
if x not in nodu:
    nodu.append(x)
print(nodu)

pos = []
for word in liste:
if word in nodu:
    pos.append(nodu.index(word)+1)
print(pos)

lpos = []
for word in liste:
lpos.append(liste.index(word)+1)

nodus = (str(nodu))
file=open("t3.txt","w")
file.write(nodus)
file.write("\n")
file.write(str(pos))
file.close()



for number in lpos:
for word in liste:
    number = word
    print(number)
break   

Comments

    Ничего не найдено.