如何删除元组列表中的偶数索引?

时间:2015-02-25 05:04:30

标签: python list python-2.7

我有一个像这样的元组列表:

   lis__ = [('string', 'id1',...,'string', 'idn')]

使用不同的idsstrings。如何从此元组列表中删除ids?,ID看起来像DSDF2342,它们是不同的。例如:

   lis__ = [('string', '234SDFSD',...,'string', 'DFSFSD234')]

所需的输出将是这样的:

[(string string .... string)]

先谢谢你们。这就是我试过的:

my_list = [tuple([j.split()[0] for j in i]) for i in lis__]

print my_list

2 个答案:

答案 0 :(得分:7)

一个好的解决方案:

my_list = [t[::2] for t in lis__]

切片 t[::2]仅采用带有偶数索引的项目(0,2,4和& c)。

答案 1 :(得分:2)

这将为您提供包含以" id"开头的项目的项目列表:

t = ('string', 'id1',...,'string', 'idn')
no_ids = [ item for item in t if not item.startswith("id")]

如果要删除奇数索引项,还可以使用range()来提供所需的索引。 (位置参数为range(start, stop, step) ):

t = ('string', 'id1',...,'string', 'idn')
no_ids = [ t[idx] for idx in range(0, len(t), 2)]