Tips and tricks (Советы и приемы)

Главная Форумы Python Синтаксис и родные библиотеки Python Tips and tricks (Советы и приемы)

Просмотр 8 сообщений - с 61 по 68 (из 68 всего)
  • Автор
    Сообщения
  • #6859 Score: 4
    txt
    Модератор
    86 pts

    как известно, при использовании set(list) мы преобразуем исходный список во множество , то есть элементы становятся неупорядоченными (в сравнении с исходным списком) и уникальными.
    Один из способов сохранить порядок исходного списка с уникальными элементами:
    (для сравнения используем также set):
    inn = [9,8,8,7,5,5,7]
    set=set(inn)
    set_save_order=[ els for indx,els in enumerate(inn) if inn.index(els)==indx ]
    OUT = set, set_save_order

    #6868 Score: 1
    txt
    Модератор
    86 pts

    Ввиду того , что мне подсказали как это сделать, делюсь
    в дополнение к посту #5622 (Получение индексов повторяющихся элементов в отдельных списках ):

    Имеется исходный список:
    lst=[4,2,1,1,2,3]
    Задача: получить на выходе 2 списка:
    1.) Лист (lst_els) с подсписками уникальных элементов (сохранив первоначальный порядок следования элементов);
    2.) Лист (lst_indx) со списком индексов элементов lst_els относительно исходного листа lst.
    Решение:
    lst = [4, 2, 1, 1, 2, 3]
    counted = set()
    lst_els = [[a]*lst.count(a) for a in (x for x in lst if not (x in counted or counted.add(x)))]
    lst_indx = [[i for i, y in enumerate(lst) if y == x[0]] for x in lst_els]
    OUT=lst_els, lst_indx

    На выходе получаем:
    lst_els=[[4],[2,2],[1,1],[3]]
    lst_indx=[[0],[1,4],[2,3],[5]]

    #6869 Score: 1
    Legantmar
    Хранитель
    474 pts

    найти неповторяющиеся элементы в списке, через подсчет их количества

    s = ["a", "b", "d", "e", "b", "d"] # входной список
    OUT = [i for i in set(s) if s.count(i) == 1]

    >>[‘e’, ‘a’]  – на выходе получим нужные элементы (небольшая “засада” в том, что их порядок немного отличается от первоначального)

    Обращаю ваше внимание, что команда s.count(i) – подсчитывает количество вхождений элемента i в списке (листе) s
    т.е. s.count(“b”) выдаст значение 2 (буква b  встречается 2 раза во входном листе)

    #6871 Score: 1
    txt
    Модератор
    86 pts

    + если все-таки важно сохранить порядок то, используя #6859 :

    s = ["a", "b", "d", "e", "b", "d"] # входной список
    def set_save(x):
       return [els for indx,els in enumerate(x) if x.index(els)==indx]
    OUT = [i for i in set_save(s) if s.count(i) == 1]

    >>[‘a’,‘e’]

    p.s. или в одну строку OUT = [i for i in [els for indx,els in enumerate(s) if s.index(els)==indx] if s.count(i) == 1]

    #6873 Score: 1
    Khasan Mamaev
    Модератор
    186 pts

    Есть еще такой вариант
    import sys
    sys.path.append(r’C:\Program Files (x86)\IronPython 2.7\Lib’)

    from collections import Counter
    A = [10, 10, 23, 10, 123, 66, 78, 123]
    print filter(lambda x: x[1] == 1, Counter(A).items())
    #7956 Score: 2
    Legantmar
    Хранитель
    474 pts

    Получаем все элементы по имени категории.
    cat = categories.get_Item(name) # Категория по имени (name) категории, например, “Стены”, “Воздуховоды”
    builtInCategory = System.Enum.ToObject(BuiltInCategory, cat.Id.IntegerValue) # BuiltIn category по категории
    elems = FilteredElementCollector(doc).OfCategory(builtInCategory).WhereElementIsNotElementType().ToElements() # Элементы по BuiltIn category

    #7960 Score: 1
    Legantmar
    Хранитель
    474 pts

    Замена типа элемента через Symbol

    import clr
    clr.AddReference("RevitServices")
    from RevitServices.Persistence import DocumentManager
    from RevitServices.Transactions import TransactionManager
    
    doc = DocumentManager.Instance.CurrentDBDocument
    selectElement = IN[0]
    newType = IN[1]
    TransactionManager.Instance.EnsureInTransaction(doc)
    UnwrapElement(selectElement).Symbol = UnwrapElement(newType)
    TransactionManager.Instance.TransactionTaskDone()
    #8400 Score: 1
    Анатолий
    Участник
    37 pts

    Запишу, чтобы не забыть.
    import clr
    clr.AddReference("RevitNodes")
    import Revit
    family=IN[0] # на вход подаем семейство
    familyName=family.Name
    types = family.Types #получение всех типов семейства без подключения каких-либо библиотек
    types = Revit.Elements.Family.ByName(familyName).Types #получение всех типов семейства (по имени семейства) с библиотеками import clr/clr.AddReference("RevitNodes")/import Revit
    elements = []
    for type in types:
    elem = Revit.Elements.FamilyInstance.ByFamilyType(type) #получение всех экземпляров данного семейства (с теми же подключаемыми библиотеками)
    elements.append(elem)
    OUT = elements

Просмотр 8 сообщений - с 61 по 68 (из 68 всего)
  • Для ответа в этой теме необходимо авторизоваться.

Comments: 429

  1. Pingback: buy cialis pills
  2. Pingback: buy cialis cheap
  3. Pingback: mazhor4sezon
  4. Pingback: filmfilmfilmes
  5. Pingback: canadian pharmacy
  6. Pingback: gRh9UPV
  7. Pingback: buy viagra now
  8. Pingback: kerbnt.flazio.com
  9. Pingback: drugstore online
  10. Pingback: 9-05-2022
  11. Pingback: kinoteatrzarya.ru
  12. Pingback: canada rx
  13. Pingback: TopGun2022
  14. Pingback: Xvideos
  15. Pingback: XVIDEOSCOM Videos
  16. Pingback: hekluy.ucraft.site
  17. Pingback: ivanesva
  18. Pingback: buy viagra now
  19. Pingback: canadian rx
  20. Pingback: aonubs.website2.me
  21. Pingback: dkyubn.bizwebs.com
  22. Pingback: canadian rx
  23. Pingback: Netflix
  24. Pingback: FILM
  25. Pingback: designchita.ru
  26. Pingback: YA-krasneyu
  27. Pingback: design-human.ru
  28. Pingback: designmsu.ru
  29. Pingback: vkl-design.ru
  30. Pingback: irida-design.ru
  31. Pingback: canadian drug
  32. Pingback: projectio
  33. Pingback: psy online
  34. Pingback: Gz92uNNH
  35. Pingback: uels ukrain
  36. Pingback: pharmacy canada
  37. Pingback: DPTPtNqS
  38. Pingback: qQ8KZZE6
  39. Pingback: D6tuzANh
  40. Pingback: SHKALA TONOV
  41. Pingback: chelovek-iz-90-h
  42. Pingback: sdtyli.zombeek.cz
  43. Pingback: 3Hk12Bl
  44. Pingback: 3NOZC44
  45. Pingback: 01211
  46. Pingback: tor-lyubov-i-grom
  47. Pingback: film-tor-2022
  48. Pingback: hd-tor-2022
  49. Pingback: hdorg2.ru
  50. Pingback: Psikholog
  51. Pingback: netstate.ru
  52. Pingback: Link
  53. Pingback: psy
  54. Pingback: bit.ly
  55. Pingback: lwerfa.iwopop.com
  56. Pingback: herbsd.iwopop.com
  57. Pingback: kawerf.iwopop.com
  58. Pingback: cleantalkorg2.ru
  59. Pingback: bucha killings
  60. Pingback: War in Ukraine
  61. Pingback: Ukraine
  62. Pingback: site
  63. Pingback: stats
  64. Pingback: Ukraine-war
  65. Pingback: movies
  66. Pingback: gidonline
  67. Pingback: canada pharmacy
  68. Pingback: web
  69. Pingback: film.8filmov.ru
  70. Pingback: video
  71. Pingback: kvqtig.zombeek.cz
  72. Pingback: kwsedc.iwopop.com
  73. Pingback: selaw.flazio.com
  74. Pingback: canadian drugstore
  75. Pingback: hkwerf.micro.blog
  76. Pingback: fermser.flazio.com
  77. Pingback: drugs for sale
  78. Pingback: canada viagra
  79. Pingback: filmgoda.ru
  80. Pingback: rodnoe-kino-ru
  81. Pingback: buy cialis
  82. Pingback: confeitofilm
  83. Pingback: stat.netstate.ru
  84. Pingback: owzpkg.zombeek.cz
  85. Pingback: lasweb.iwopop.com
  86. Pingback: sY5am
  87. Pingback: Dom drakona
  88. Pingback: JGXldbkj
  89. Pingback: aOuSjapt
  90. Pingback: ìûøëåíèå
  91. Pingback: psikholog moskva
  92. Pingback: Dim Drakona 2022
  93. Pingback: TwnE4zl6
  94. Pingback: psy 3CtwvjS
  95. Pingback: lalochesia
  96. Pingback: film onlinee
  97. Pingback: 3qAIwwN
  98. Pingback: video-2
  99. Pingback: sezons.store
  100. Pingback: psy-news.ru
  101. Pingback: 000-1
  102. Pingback: 3SoTS32
  103. Pingback: 3DGofO7
  104. Pingback: rftrip.ru
  105. Pingback: dolpsy.ru
  106. Pingback: kin0shki.ru
  107. Pingback: 3o9cpydyue4s8.ru
  108. Pingback: mb588.ru
  109. Pingback: newsukraine.ru
  110. Pingback: edu-design.ru
  111. Pingback: tftl.ru
  112. Pingback: brutv
  113. Pingback: site 2023
  114. Pingback: sitestats01
  115. Pingback: 1c789.ru
  116. Pingback: cttdu.ru
  117. Pingback: 1703
  118. Pingback: hdserial2023.ru
  119. Pingback: serialhd2023.ru
  120. Pingback: matchonline2022.ru
  121. Pingback: bit.ly/3OEzOZR
  122. Pingback: bit.ly/3gGFqGq
  123. Pingback: bit.ly/3ARFdXA
  124. Pingback: bit.ly/3ig2UT5
  125. Pingback: bit.ly/3GQNK0J
  126. Pingback: bep5w0Df
  127. Pingback: www
  128. Pingback: icf
  129. Pingback: 24hours-news
  130. Pingback: rusnewsweek
  131. Pingback: uluro-ado
  132. Pingback: irannews.ru
  133. Pingback: klondayk2022
  134. Pingback: tqmFEB3B
  135. Pingback: 2022-film
  136. Pingback: mangalib
  137. Pingback: https://gdznew.ru/
  138. Pingback: x
  139. Pingback: 9xflix
  140. Pingback: xnxx
  141. Pingback: 123movies
  142. Pingback: kinokrad
  143. Pingback: batmanapollo
  144. Pingback: vsovezdeisrazu
  145. Pingback: 2023
  146. Pingback: ipsychologos
  147. Pingback: yug-grib.ru
  148. Pingback: studio-tatuage.ru
  149. Pingback: video.vipspark.ru
  150. Pingback: vitaliy-abdulov.ru
  151. Pingback: psychophysics.ru
  152. Pingback: ooohd3.ru
  153. Pingback: sitemap
  154. Pingback: fbofficial.ru
  155. Pingback: i.8ua.ru
  156. Pingback: batmanapollo.ru
  157. Pingback: LORD FILM
  158. Pingback: kin
  159. Pingback: kinnit
  160. Pingback: jz
  161. Pingback: nlp
  162. Pingback: time
  163. Pingback: rasshifrovka karti
  164. Pingback: konsultaciya
  165. Pingback: more
  166. Pingback: 9999
  167. Pingback: 7
  168. Pingback: 777
  169. Pingback: wlw.su
  170. Pingback: vxi.su
  171. Pingback: nlpvip.ru
  172. Pingback: manipulyation
  173. Pingback: essay help online
  174. Pingback: 354
  175. Pingback: kiino4k.ru
  176. Pingback: can i buy viagra
  177. Pingback: viagra 100mg price
  178. Pingback: new 2024
  179. Pingback: viagra buy cheap
  180. Pingback: film2024
  181. Pingback: tamoxifen impotenz
  182. Pingback: harga glucophage
  183. Pingback: lisinopril spasms
  184. Pingback: 000
  185. Pingback: samorazvitiepsi
  186. Pingback: expired cephalexin
  187. Pingback: flexeril pill
  188. Pingback: cozaar side effect
  189. Pingback: buspar weight loss
  190. Pingback: list
  191. Pingback: acarbose capsules
  192. Pingback: ivermectin 0.5
  193. Pingback: tamsulosin bula