Skip to main content
 首页 » 编程设计

python之遍历 python 列表列表并根据条件删除列表

2025年05月04日14虾米姐

我在 python 中有一个列表列表如下:

[['1490011456.91', '2010113819', 'amazon.com', '208.67.220.220'], 
 ['1490026791.59', '2010113820', 'amazon.com', '208.67.222.222'], 
 ['1490026791.57', '2010113820', 'amazon.com', '8.8.4.4'], 
 ['1490026791.55', '2010113820', 'amazon.com', '8.8.8.8'], 
 ['1490026791.37', '150612899', 'google.com', '208.67.220.220'], 
 ['1490026791.35', '150612898', 'google.com', '208.67.222.222'], 
 ['1490026791.33', '150612899', 'google.com', '8.8.4.4'], 
 ['1490019411.19', '150612899', 'google.com', '8.8.8.8'], 
 ['1490026791.57', '2017032001', 'intuit.com', '208.67.220.220'], 
 ['1490026791.47', '2017032001', 'intuit.com', '208.67.222.222'], 
 ['1490026791.45', '2017032000', 'intuit.com', '8.8.4.4'], 
 ['1490026791.43', '2017032001', 'intuit.com', '8.8.8.8']] 

第 1 列:epoch_time
第 2 列:序列号
第 3 列:域
第四列:服务器

我将如何遍历每个域的列表列表,以便如果 serial_number 等于 8.8.8.8 的 serial_number,则删除列表,因此最终输出如下:

['1490011456.91', '2010113819', 'amazon.com', '208.67.220.220'], 
['1490026791.55', '2010113820', 'amazon.com', '8.8.8.8'], 
['1490026791.35', '150612898', 'google.com', '208.67.222.222'], 
['1490019411.19', '150612899', 'google.com', '8.8.8.8'], 
['1490026791.45', '2017032000', 'intuit.com', '8.8.4.4'], 
['1490026791.43', '2017032001', 'intuit.com', '8.8.8.8']] 

请您参考如下方法:

应该这样做:

a = [['1490011456.91', '2010113819', 'amazon.com', '208.67.220.220'], 
 ['1490026791.59', '2010113820', 'amazon.com', '208.67.222.222'], 
 ['1490026791.57', '2010113820', 'amazon.com', '8.8.4.4'], 
 ['1490026791.55', '2010113820', 'amazon.com', '8.8.8.8'], 
 ['1490026791.37', '150612899', 'google.com', '208.67.220.220'], 
 ['1490026791.35', '150612898', 'google.com', '208.67.222.222'], 
 ['1490026791.33', '150612899', 'google.com', '8.8.4.4'], 
 ['1490019411.19', '150612899', 'google.com', '8.8.8.8'], 
 ['1490026791.57', '2017032001', 'intuit.com', '208.67.220.220'], 
 ['1490026791.47', '2017032001', 'intuit.com', '208.67.222.222'], 
 ['1490026791.45', '2017032000', 'intuit.com', '8.8.4.4'], 
 ['1490026791.43', '2017032001', 'intuit.com', '8.8.8.8']] 
 
remove = [item[1] for item in a if item[3]=='8.8.8.8'] 
clean = [item for item in a if item[1] not in remove or item[3]=='8.8.8.8'] 
print clean