【发布时间】:2017-08-30 01:20:21
【问题描述】:
我有一个像这样的二维数组:
list_of_data = [
['Joe', 4, 4, 4, 5, 'cabbage', None],
['Joe', 43, '2TM', 41, 53, 'cabbage', None],
['Joe', 24, 34, 44, 55, 'cabbage', None],
['Joe', 54, 37, 42, 85, 'cabbage', None],
['Tom', 7, '2TM', 4, 52, 'cabbage', None],
['Tom', 4, 24, 43, 52, 'cabbage', None],
['Tom', 4, 4, 4, 5, 'cabbage', None],
['Fred', 4, 4, 4, 5, 6, 'cabbage'],
['Fred', 4, 4, 4, 5, 6, 'cabbage'],
['Fred', 4, 4, 4, 5, 6, 'cabbage'],
]
我对在其第二个索引处包含值 '2TM' 的行感兴趣。例如:
- Joe 在其数据的第二次出现中的索引 2 处具有值
'2TM'。 - Tom 在其数据第一次出现时的索引 2 处具有值
'2TM'。
每次值'2TM' 出现在数据中时,我都想删除接下来的两行。上面的例子会变成下面这样:
list_of_data =
['Joe', 4, 4, 4, 5, 'cabbage', None],
['Joe', 43, '2TM', 41, 53, 'cabbage', None],
['Tom', 7, '2TM', 4, 52, 'cabbage', None],
['Fred', 4, 4, 4, 5, 6, 'cabbage'],
['Fred', 4, 4, 4, 5, 6, 'cabbage'],
['Fred', 4, 4, 4, 5, 6, 'cabbage'],
]
我试过像这样使用list.pop:
for row[x] in list_of_data:
if '2TM' in row:
list_of_data.pop[x+1:x+2]
【问题讨论】:
标签: python list if-statement conditional remove-if