Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何删除3-ples列表中每个元组的第二个元素?_Python_List_Python 2.7_Parsing_Data Structures - Fatal编程技术网

Python 如何删除3-ples列表中每个元组的第二个元素?

Python 如何删除3-ples列表中每个元组的第二个元素?,python,list,python-2.7,parsing,data-structures,Python,List,Python 2.7,Parsing,Data Structures,我有一张这样的大单子: list__=[('string id1', 'string id2', 'string id3'), ('string id4', 'string id5', 'string id6'), ... ,('string idn', 'string id', 'string idn-1')] 如何从这个大元组中删除ID,例如: [('string', 'string', 'string'), ('string', 'string', 'string'), ... ,('s

我有一张这样的大单子:

list__=[('string id1', 'string id2', 'string id3'), ('string id4', 'string id5', 'string id6'), ... ,('string idn', 'string id', 'string idn-1')]
如何从这个大元组中删除ID,例如:

[('string', 'string', 'string'), ('string', 'string', 'string'), ... ,('string', 'string', 'string')]
你知道我该怎么做吗?。我试过:

OutputTuple = [(a, b, d) for a, b, c, d in ListTuple]

但只需删除第二个元素。

使用列表理解:

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

使用列表理解:

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

解包将比使用双for循环更有效:

[(a.split()[0], b.split()[0], c.split()[0]) for a, b, c in  list__ ]
您还可以索引到空格:

  [(a[:a.index(" ")], b[:b.(" ")], c[:c.index(" ")]) for a,b,c in  list__ ]
有趣的是,使用
str.find
是使用python2.7最有效的解决方案

In [41]: timeit [(a[:a.find(" ")], b[:b.find(" ")], c[:c.find(" ")]) for a,b,c in  list__ ]
100000 loops, best of 3: 2.27 µs per loop

In [42]: timeit [tuple([j.split()[0] for j in i]) for i in list__]
100000 loops, best of 3: 3.85 µs per loop

In [43]: timeit [(a.split()[0], b.split()[0], c.split()[0]) for a, b, c in  list__ ]
100000 loops, best of 3: 2.73 µs per loop

解包将比使用双for循环更有效:

[(a.split()[0], b.split()[0], c.split()[0]) for a, b, c in  list__ ]
您还可以索引到空格:

  [(a[:a.index(" ")], b[:b.(" ")], c[:c.index(" ")]) for a,b,c in  list__ ]
有趣的是,使用
str.find
是使用python2.7最有效的解决方案

In [41]: timeit [(a[:a.find(" ")], b[:b.find(" ")], c[:c.find(" ")]) for a,b,c in  list__ ]
100000 loops, best of 3: 2.27 µs per loop

In [42]: timeit [tuple([j.split()[0] for j in i]) for i in list__]
100000 loops, best of 3: 3.85 µs per loop

In [43]: timeit [(a.split()[0], b.split()[0], c.split()[0]) for a, b, c in  list__ ]
100000 loops, best of 3: 2.73 µs per loop

只需拆分每个项目并在第一个(第0个)索引处获取该项目:
[tuple(y.split()[0]表示x中的y)表示x在列表中。\uuuuuux]
谢谢@ashwinichaudyString id中有哪些字符?我认为使用正则表达式无法解决这个问题。谢谢只需拆分每个项目并在第一个(第0个)索引处获取该项目:
[tuple(y.split()[0]表示x中的y)表示x在列表中。\uuuuuux]
谢谢@ashwinichaudyString id中有哪些字符?我认为使用正则表达式无法解决这个问题。谢谢我认为这个答案是最好的方法。我认为这个答案是最好的方法。