Ore*_*man 1 python list boto3 aws-lambda
如何从列表中删除匹配的项目? <class 'list'>
snapshot_tag = [{'Key': 'Disaster_Recovery', 'Value': 'Full'}, {'Key': 'Backup Initiator Rule', 'Value': 'Daily-6d-retention'}, {'Key': 'Name', 'Value': 'HOSTNAME'}, {'Key': 'aws:backup:source-resource', 'Value': '000AD618-2D20-CE4B-0000-0000B688C579'}, {'Key': 'Backup_Type', 'Value': 'CROSS-REGION'}]
Run Code Online (Sandbox Code Playgroud)
我需要删除一个元素:
{'Key': 'aws:backup:source-resource', 'Value': '000AD618-2D20-CE4B-0000-0000B688C579'}
Run Code Online (Sandbox Code Playgroud)
如果指定完整的元素名称,则可以将其删除:
snapshot_tag.remove({'Key': 'aws:backup:source-resource', 'Value': '000AD618-2D20-CE4B-0000-0000B688C579'})
Run Code Online (Sandbox Code Playgroud)
或指定特定的索引:
del snapshot_tag[3]
但在我的情况下,元素的“值”始终不同,索引随机化。
使用列表理解:
print ([item for item in snapshot_tag if item['Key'] != 'aws:backup:source-resource'])
Run Code Online (Sandbox Code Playgroud)
或使用filter,lambda:
print (list(filter(lambda item: item['Key'] != 'aws:backup:source-resource', snapshot_tag)))
Run Code Online (Sandbox Code Playgroud)
输出:
[{'Key': 'Disaster_Recovery', 'Value': 'Full'}, {'Key': 'Backup Initiator Rule', 'Value': 'Daily-6d-retention'}, {'Key': 'Name', 'Value': 'HOSTNAME'}, {'Key': 'Backup_Type', 'Value': 'CROSS-REGION'}]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |