WebHU - Programozási kérdések és válaszok

két lista egész szám kombinálható a pythonban

Megpróbálok egész számokat lekérni egy bizonyos függvények listájából egy két különböző listában, majd megpróbálom mindkét lista egész számot tárolni a 2. lista egész szám kombinációjával. Tegyük fel, hogy van két listánk,

list1 = ['A(0)','B(1)','C(3)','Z(4)','Z(7)','Z(2)', 'X(3)','X(2)',...]
list2 = ['A(0)','B(1)','C(3)','Z(7)','Z(3)','Z(5)', 'X(11)','X(4)',...]

most csak a Z egész száma a list1-ből és a list2-ből lesz kivonatolva és tárolva, mint ez a sorozat,

       Z1 = A(4,7)
       Z1 = A(7,3)
       Z2 = B(2,5)

a list1 első eleme és a list2 2. eleme egy sorozatban.

itt a kódom, amit kipróbáltam,

    for line in list1:
      if 'OUTPUT' in line:
        print(line.split('Z(')[1].split(')')[0].strip())
   for line in list2:
     if 'OUTPUT' in line:
        print(line.split('Z(')[1].split(')')[0].strip())

itt a kimenet

4 7 7 3 2 5

de még mindig nem kaptam olyan értéket, mint

    Z1 = A(4,7)
    Z1 = A(7,3)
    Z2 = B(2,5)
02.02.2020

  • Milyen sorrendben vannak a A(4, 7), A(7, 3) és B(2, 5) betűi? 02.02.2020
  • az első lista első eleme és a 2. lista 2. eleme abban az esetben, ha A 4 az 1. lista 1. eleme és a 7 a 2. lista első eleme is 02.02.2020
  • Mi a helyzet a következőkkel: X(3), X(2) és X(11), X(4)? Ezeket nem számolják? 02.02.2020
  • nem kell ezt számolni, csak másokat kell számolni 02.02.2020
  • Attól tartok, nem értem, de alább közzétettem egy lehetséges kezdőkódot. 02.02.2020

Válaszok:


1
def format_list(lst):

    new = []
    for sub in lst:
        open_p = sub.index("(")
        close_p = sub.index(")")

        letter = sub[:open_p]
        number = sub[open_p + 1 : close_p]

        new.append((letter, number))

    return new

list1 = ["A(0)", "B(1)", "C(3)", "Z(4)", "Z(7)", "Z(2)", "X(3)", "X(2)"]
list2 = ["A(0)", "B(1)", "C(3)", "Z(7)", "Z(3)", "Z(5)", "X(11)", "X(4)"]

lst1 = format_list(list1)
lst2 = format_list(list2)

A fenti kód a következőképpen formázza a listákat:

lst1 = [('A', '0'), ('B', '1'), ('C', '3'), ('Z', '4'), ('Z', '7'), ('Z', '2'), ('X', '3'), ('X', '2')]

lst2 = [('A', '0'), ('B', '1'), ('C', '3'), ('Z', '7'), ('Z', '3'), ('Z', '5'), ('X', '11'), ('X', '4')]

Innen a filter() segítségével megkeresheti a helyek, ahol a számok különböznek:

different_obj = list(filter(lambda x: x[0][1] != x[1][1], zip(lst1, lst2)))
print(different_obj)

Vagy ha inkább, akkor nem kell filter használnod:

different_obj = []
for x, y in zip(lst1, lst2):
    if x[1] != y[1]:
        different_obj.append((x, y))

kimenetek:

[(('Z', '4'), ('Z', '7')),
 (('Z', '7'), ('Z', '3')),
 (('Z', '2'), ('Z', '5')),
 (('X', '3'), ('X', '11')),
 (('X', '2'), ('X', '4'))]

Innentől kezdve képesnek kell lennie a different_obj megszervezésére a cél felé.

02.02.2020
  • az x elem is csak z értékeket jelenít meg 02.02.2020
  • Biztos vagyok benne, hogy innen kitalálhatja. :) 02.02.2020
  • Aha! Nem probléma. 02.02.2020
  • Új anyagok

    A rádiógomb ellenőrzött eseményének használata a jQueryben
    Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

    Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
    Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

    Miért érdemes elkezdeni a kódolást 2023-ban?
    01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

    🎙 Random Noise #2  – Örökbefogadás és hit
    az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

    A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
    A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

    5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
    Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

    Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
    A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..