use*_*545 76 python split list
我有一个清单:
my_list = ['element1\t0238.94', 'element2\t2.3904', 'element3\t0139847']
Run Code Online (Sandbox Code Playgroud)
如何删除\t
以及之后的所有内容以获得此结果:
['element1', 'element2', 'element3']
Run Code Online (Sandbox Code Playgroud)
Rom*_*huk 90
就像是:
>>> l = ['element1\t0238.94', 'element2\t2.3904', 'element3\t0139847']
>>> [i.split('\t', 1)[0] for i in l]
['element1', 'element2', 'element3']
Run Code Online (Sandbox Code Playgroud)
小智 8
尝试遍历列表中的每个元素,然后将其拆分为制表符并将其添加到新列表中.
for i in list:
newList.append(i.split('\t')[0])
Run Code Online (Sandbox Code Playgroud)
不要将list用作变量名。您也可以查看以下代码:
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]
Run Code Online (Sandbox Code Playgroud)
或就地编辑:
for i,x in enumerate(clist):
if '\t' in x:
clist[i] = x[:x.index('\t')]
Run Code Online (Sandbox Code Playgroud)
使用map和lambda表达式的解决方案:
my_list = list(map(lambda x: x.split('\t')[0], my_list))
Run Code Online (Sandbox Code Playgroud)