разделение элементов списка в Python
Я знаю, что это довольно простой вопрос, но я новичок в Python и не могу понять, как решить ее.
у меня есть список:
list = ['element1t0238.94', 'element2t2.3904', 'element3t0139847']
и я хочу удалить 't ' и все после. Я думал разделить каждый элемент на 't', чтобы я мог удалить все остальные элементы списка. Однако, когда я пытаюсь сделать list[0:].split('t') Я получаю AttributeError: 'список' объект не имеет атрибут 'сплит'. Я также попытался сделать весь список в строку, но это привело к целый ряд проблем. Любые предложения будут оценены.
7 ответов:
что-то типа:
>>> 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
просто преобразовать список в строку с
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