lazysdk 0.1.112__py3-none-any.whl → 0.1.114__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- lazysdk/lazydict.py +22 -2
- lazysdk/lazylist.py +26 -0
- {lazysdk-0.1.112.dist-info → lazysdk-0.1.114.dist-info}/METADATA +1 -1
- {lazysdk-0.1.112.dist-info → lazysdk-0.1.114.dist-info}/RECORD +7 -7
- {lazysdk-0.1.112.dist-info → lazysdk-0.1.114.dist-info}/LICENSE +0 -0
- {lazysdk-0.1.112.dist-info → lazysdk-0.1.114.dist-info}/WHEEL +0 -0
- {lazysdk-0.1.112.dist-info → lazysdk-0.1.114.dist-info}/top_level.txt +0 -0
lazysdk/lazydict.py
CHANGED
@@ -291,18 +291,25 @@ def key_min_value(
|
|
291
291
|
def get_value_list(
|
292
292
|
list_in: list,
|
293
293
|
key,
|
294
|
-
deepcopy: bool = True
|
294
|
+
deepcopy: bool = True,
|
295
|
+
value_type: type = None
|
295
296
|
):
|
296
297
|
"""
|
297
298
|
提取list嵌套的字典中某个key的值列表
|
299
|
+
:param value_type: 将值格式化为指定的类型,例如str
|
298
300
|
"""
|
299
301
|
res = []
|
300
302
|
if list_in:
|
301
303
|
for each in list_in:
|
302
304
|
if isinstance(each, dict):
|
303
305
|
each_value = each.get(key)
|
304
|
-
if each_value:
|
306
|
+
if each_value and value_type is None:
|
305
307
|
res.append(each_value)
|
308
|
+
elif each_value and value_type is not None:
|
309
|
+
if isinstance(each_value, value_type):
|
310
|
+
res.append(each_value)
|
311
|
+
else:
|
312
|
+
res.append(value_type(each_value))
|
306
313
|
else:
|
307
314
|
continue
|
308
315
|
else:
|
@@ -314,3 +321,16 @@ def get_value_list(
|
|
314
321
|
else:
|
315
322
|
return []
|
316
323
|
|
324
|
+
|
325
|
+
if __name__ == '__main__':
|
326
|
+
res = get_value_list(
|
327
|
+
list_in = [
|
328
|
+
{"a": "1"},
|
329
|
+
{"a": "2"},
|
330
|
+
{"a": None},
|
331
|
+
],
|
332
|
+
key = "a",
|
333
|
+
value_type = int
|
334
|
+
|
335
|
+
)
|
336
|
+
print(res)
|
lazysdk/lazylist.py
CHANGED
@@ -15,3 +15,29 @@ def split(
|
|
15
15
|
split_num += 1
|
16
16
|
list_out[split_num-1].append(list_in[i])
|
17
17
|
return list_out
|
18
|
+
|
19
|
+
|
20
|
+
def list_difference(
|
21
|
+
list_left: list,
|
22
|
+
list_right: list,
|
23
|
+
keep_sort: bool = False
|
24
|
+
):
|
25
|
+
"""
|
26
|
+
返回两个list的差集,效果等于list_left-list_right,返回无序;
|
27
|
+
|
28
|
+
在 Python 中,可以使用集合(`set`)的特性来取两个列表的差集。差集是指只在一个集合中出现而在另一个集合中没有的元素。
|
29
|
+
使用集合的 `difference()` 方法可以实现列表的差集操作。
|
30
|
+
需要注意的是,集合是无序的,因此在结果中元素的顺序可能与原始列表不同。如果需要保留原始列表的顺序,可以使用列表推导式来实现差集操作
|
31
|
+
"""
|
32
|
+
if keep_sort:
|
33
|
+
return [x for x in list_left if x not in list_right] # 返回有序
|
34
|
+
else:
|
35
|
+
return list(set(list_left).difference(list_right)) # 返回无序
|
36
|
+
|
37
|
+
|
38
|
+
if __name__ == '__main__':
|
39
|
+
print(list_difference(
|
40
|
+
list_left=[4,1,2],
|
41
|
+
list_right=[2,3],
|
42
|
+
keep_sort=True
|
43
|
+
))
|
@@ -6,7 +6,7 @@ lazysdk/lazybase64.py,sha256=8jtuH9S1jICXpzxhRLe7xNur_o9TWbT1BRmTshZWYh0,669
|
|
6
6
|
lazysdk/lazycache.py,sha256=it4B-iTXITtua8yjeiUooDsye4Z_aGy4uAOibxoViNQ,571
|
7
7
|
lazysdk/lazychromedriver.py,sha256=tJk6HIY31tqBFiSolq2ALxLqDTcOTrevOKaDqzUVPps,15383
|
8
8
|
lazysdk/lazydecode.py,sha256=z3no94VDhxVxJCPQFwKxKTxz8v9Eikjk18TZWDttN6A,414
|
9
|
-
lazysdk/lazydict.py,sha256=
|
9
|
+
lazysdk/lazydict.py,sha256=FZ6HsTh7AZFXbsv8_9VE3sVp3gn8Frs7qOdHB2K5lRk,10092
|
10
10
|
lazysdk/lazyenv.py,sha256=P6HjO9cbBPzHD_Vs-Ww_GThDq-h9Wn31VSiu9OzTNWI,3024
|
11
11
|
lazysdk/lazyexcel.py,sha256=adZTtQYuVZ2u5jMSRBJlKluGVdN7oHxJsLpxawV1ros,15835
|
12
12
|
lazysdk/lazyfile.py,sha256=5p7yPWRLTqvToDUzQAEZ8uGfz-x-zSsM5ZHeT97ZpWo,20268
|
@@ -16,7 +16,7 @@ lazysdk/lazyid.py,sha256=8yuf3ADHCiujIsGJ6YzU1LHFMX7679nmdRrGSlZPQ5o,1388
|
|
16
16
|
lazysdk/lazyinfo.py,sha256=c9BsyxMygpcpQ7mpurz3JShyhVhu75XZai9Ezk4dFHc,3673
|
17
17
|
lazysdk/lazyip.py,sha256=8GkSlBys-IEqHGM7Oe5NsHIzYjUWn5Ltmf1EOM5TRaI,1440
|
18
18
|
lazysdk/lazyjson.py,sha256=5clxmOJDlkKbuovgB1jIPGCJwhLqM-SHHtrxmbCJe_4,867
|
19
|
-
lazysdk/lazylist.py,sha256=
|
19
|
+
lazysdk/lazylist.py,sha256=OcfdzKIRvb7dV2xNpNHrGGrLJ5u1e6yA2UhQyXi6Wao,1339
|
20
20
|
lazysdk/lazym3u8.py,sha256=NrwEBpivhAxpW6KhKl7YowFBKGMpPxiKrcafgw7n8wY,31937
|
21
21
|
lazysdk/lazymd5.py,sha256=JSKIcUmH2zwPDDJAd9XajTYd59eKidoKAkLLNU8OHM4,1112
|
22
22
|
lazysdk/lazypath.py,sha256=4h7_yg5Hkt_vUnpr7kPodV1GwwYlyORLjJt3MYCIquM,6130
|
@@ -34,8 +34,8 @@ lazysdk/lazywebhook.py,sha256=DWn4AE4E_w2wZuev5aD51J5oGCJjitbucFokHSSnuHg,9377
|
|
34
34
|
lazysdk/lazywifi.py,sha256=FOvLPTcb6BQE6D8kjfB0TLpfgGxw8jqC3vZbTs6LbD4,716
|
35
35
|
lazysdk/lazyxml.py,sha256=PLAcDWjpu2GMJPsV9dHOv716CVmflQee7Aan-hqGxL8,770
|
36
36
|
lazysdk/showdata.py,sha256=957JMXq7qfJ4ELpA3nBJwkyEUn6mRwtVXVBGYfZaCgg,1683
|
37
|
-
lazysdk-0.1.
|
38
|
-
lazysdk-0.1.
|
39
|
-
lazysdk-0.1.
|
40
|
-
lazysdk-0.1.
|
41
|
-
lazysdk-0.1.
|
37
|
+
lazysdk-0.1.114.dist-info/LICENSE,sha256=OC5E4ENUG6B4dGEVGwUpdsD-D9SZsCVC92NAgaqvE-c,1088
|
38
|
+
lazysdk-0.1.114.dist-info/METADATA,sha256=IabaW3UPeVuv5VinOTfhHd9SuIuE6vMigJ5PQf8qYHk,1901
|
39
|
+
lazysdk-0.1.114.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
|
40
|
+
lazysdk-0.1.114.dist-info/top_level.txt,sha256=--bGS42ZHUhVeO83y1wfvKFg6OjkTLxQ4V4riqPQljY,8
|
41
|
+
lazysdk-0.1.114.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|