attr1=['2021-02-01','2021-02-02'] attr2=[{date:'2021-02',day:10},{date:'2021-05',day:10}]两个数组筛选出2021-02月份的 放到一个新的数组里
时间: 2023-12-19 18:04:15 浏览: 63
计算2个日期之间,有多少个月份。保存为数组
可以使用 Python 的列表推导式来实现这个功能。具体代码如下:
```python
attr1 = ['2021-02-01', '2021-02-02']
attr2 = [{'date': '2021-02', 'day': 10}, {'date': '2021-05', 'day': 10}]
result = [x for x in attr1 + attr2 if isinstance(x, str) and x.startswith('2021-02') or x.get('date', '').startswith('2021-02')]
print(result)
```
输出结果为:
```
['2021-02-01', '2021-02-02', {'date': '2021-02', 'day': 10}]
```
这个代码做了以下几件事情:
1. 将 `attr1` 和 `attr2` 拼接成一个新的列表;
2. 判断每个元素是否为字符串,如果是字符串并且以 `'2021-02'` 开头,或者是字典并且字典的 `'date'` 属性以 `'2021-02'` 开头,则将其加入结果列表中;
3. 最终返回结果列表。
阅读全文