1
dier 2022-06-20 10:59:16 +08:00
Python 小白来试着回复一下
问题 1 ,你列出来的并不是重复内容呀。还是说你只想在 list1 中只保留一个 b,c 的字典? 问题 2 ,你这个判断条件不成立呀,a 怎么可能同时大于等于 b 又小于等于 b? |
2
QGabriel OP @dier 可能我没表达明白~
问题 1 => list1 中 {b: 1, c: 2} 和 {b: 2, c: 1} 这两个对象的 value 在同一个区间范围 我就算他是重复的~ 问题 2 => list2 中的 a 如果在 list1 中的某个对象 b-c 的区间范围 就把符合条件 list2 的对象中的 d 值相加 |
3
enrolls 2022-06-20 11:17:43 +08:00
问题 1 ,dict 转 tuple?
|
5
InvincibleDream 2022-06-20 11:41:28 +08:00
放进一个 set 里就没有重复的了
|
6
RyanLin1995 2022-06-22 11:05:23 +08:00
@InvincibleDream +1
|
7
nyxsonsleep 2022-06-24 00:32:06 +08:00
问了两个问题,楞是没有一个问题是直接描述正确的。。。唯一明白人还只有#1
Q1:等于是构造了一个数据结构 A1:数据结构是不能像描述的那样判断重复的,所以要么重构数据结构要么重写=运算符。 具体而言很简单,遍历 list ,b c 交换值形成新的 dict 子元素,再做一重遍历与其他的子元素做对比。相等则重复。 经典两重循环条件判断查重。 Q2:重点是筛选符合条件的 list2 中的子元素。不会有人连取 value 和赋值都不会的吧。 A2:直观来说,筛选不就是遍历吗?遍历完了,就该求和了,结果显而易见。 想用点内置函数就用 filter 函数做筛选,reduce 函数求和。 |