Ответ 1
Что-то вроде:
>>> l = ['element1\t0238.94', 'element2\t2.3904', 'element3\t0139847']
>>> [i.split('\t', 1)[0] for i in l]
['element1', 'element2', 'element3']
Я знаю, что это довольно простой вопрос, но я новичок в python и не могу понять, как его решить.
У меня есть список:
list = ['element1\t0238.94', 'element2\t2.3904', 'element3\t0139847']
и я хочу удалить '\ t' и все после. Я думал разбить каждый элемент на "\ t", чтобы удалить все остальные элементы списка. Однако, когда я пытаюсь сделать list[0:].split('\t')
, я получаю объект AttributeError: "list" не имеет атрибута "split". Я также попытался сделать весь список в строку, но это вызвало целый ряд проблем. Мы ценим любые предложения.
Что-то вроде:
>>> 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]
Не используйте список как имя переменной. Вы также можете взглянуть на следующий код:
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')]
Попробуйте выполнить итерацию через каждый элемент списка, затем разделите его на символ табуляции и добавьте его в новый список.
for i in list:
newList.append(i.split('\t')[0])
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