arpakitlib 1.8.282__py3-none-any.whl → 1.8.283__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.

Potentially problematic release.


This version of arpakitlib might be problematic. Click here for more details.

@@ -20,8 +20,39 @@ def group_list(list_: list[Any], n: int):
20
20
  return list(iter_group_list(list_=list_, n=n))
21
21
 
22
22
 
23
+ def remove_from_list_if_left(*, list_: list[Any], values: list[Any]) -> list[Any]:
24
+ """
25
+ Удаляет из list_ все элементы, чьи значения перечислены в values,
26
+ НО только если после удаления в list_ останется хотя бы один элемент.
27
+
28
+ Всегда возвращает сам список list_ (после возможной модификации in-place).
29
+ """
30
+ if not values:
31
+ return list_
32
+
33
+ targets = set(values)
34
+ # кандидат на новое содержимое
35
+ filtered = [x for x in list_ if x not in targets]
36
+
37
+ # если нечего удалять — оставляем как есть
38
+ if len(filtered) == len(list_):
39
+ return list_
40
+
41
+ # удаляем только если список не опустеет
42
+ if len(filtered) == 0:
43
+ return list_
44
+
45
+ # применяем изменения in-place
46
+ list_[:] = filtered
47
+ return list_
48
+
49
+
23
50
  def __example():
24
- pass
51
+ a = remove_from_list_if_left(
52
+ list_=[1,2,2,2,2,2,3,3,3,3,3,3],
53
+ values=[1,2,3]
54
+ )
55
+ print(a)
25
56
 
26
57
 
27
58
  if __name__ == '__main__':
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: arpakitlib
3
- Version: 1.8.282
3
+ Version: 1.8.283
4
4
  Summary: arpakitlib
5
5
  License: Apache-2.0
6
6
  License-File: LICENSE
@@ -408,7 +408,7 @@ arpakitlib/ar_json_db_util.py,sha256=5nELpAY1_5_iTN4nMcutQtJQ5Nt52-xiKELxEH65RkY
408
408
  arpakitlib/ar_json_util.py,sha256=jnVfpQ6QSDq8NgIlh_6ZzXDveOiybr7QSQkXutE7d2s,2676
409
409
  arpakitlib/ar_jwt_util.py,sha256=Rhm4ywoTAn6yOV8NLjDASfAtAtheROxxDP40G3XjnuQ,761
410
410
  arpakitlib/ar_list_of_dicts_to_xlsx.py,sha256=MyjEl4Jl4beLVZqLVQMMv0-XDtBD3Xh4Z_ZPDJeFu04,745
411
- arpakitlib/ar_list_util.py,sha256=2woOAHAU8oTIiVjZ8GLnx15odEaoQUq3Q0JPxlufFF0,457
411
+ arpakitlib/ar_list_util.py,sha256=Ol0fVN8BGTg3wT8PN-fUOQwAchqsc0AWLjySCY8zVTg,1578
412
412
  arpakitlib/ar_logging_util.py,sha256=CvKvaKqsl1UucgwL28cWadK9f6t5vaF2DmwbZMa8FmU,1681
413
413
  arpakitlib/ar_mongodb_util.py,sha256=2ECkTnGAZ92qxioL-fmN6R4yZOSr3bXdXLWTzT1C3vk,4038
414
414
  arpakitlib/ar_need_type_util.py,sha256=XmY1kswz8j9oo5f9CxRu0_zgfvxWrXPYKOj6MM04sGk,2604
@@ -431,8 +431,8 @@ arpakitlib/ar_sqlalchemy_drop_check_constraints.py,sha256=XEqnMrIwSYasW_UOJ8xU-J
431
431
  arpakitlib/ar_sqlalchemy_util.py,sha256=nUDCxhu0l8P0eBCdLyXej3_yLvBlB3LrGhMWzAekm5E,16532
432
432
  arpakitlib/ar_str_util.py,sha256=2lGpnXDf2h1cBZpVf5i1tX_HCv5iBd6IGnrCw4QWWlY,4350
433
433
  arpakitlib/ar_type_util.py,sha256=Cs_tef-Fc5xeyAF54KgISCsP11NHyzIsglm4S3Xx7iM,4049
434
- arpakitlib-1.8.282.dist-info/METADATA,sha256=CEhD0Bu7w3mjk7UkQS-QEDQEjzLBXw-hENTiOUCTcAs,4060
435
- arpakitlib-1.8.282.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
436
- arpakitlib-1.8.282.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
437
- arpakitlib-1.8.282.dist-info/licenses/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
438
- arpakitlib-1.8.282.dist-info/RECORD,,
434
+ arpakitlib-1.8.283.dist-info/METADATA,sha256=_yX8P8IL_S2i2w3m1m_YBEGV24OW8Q-gU2g77gWrnJs,4060
435
+ arpakitlib-1.8.283.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
436
+ arpakitlib-1.8.283.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
437
+ arpakitlib-1.8.283.dist-info/licenses/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
438
+ arpakitlib-1.8.283.dist-info/RECORD,,