Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Python - Zamena stringa u poredjenju sa drugom listom

[es] :: Python :: Python - Zamena stringa u poredjenju sa drugom listom

[ Pregleda: 1410 | Odgovora: 15 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Machiavelli...
Đorđe Đokanović
IT Support Engineer II
www.amazon.com
Philadelphia

Član broj: 90589
Poruke: 672
208.116.146.*

Sajt: www.linkedin.com/in/dorde..


+92 Profil

icon Python - Zamena stringa u poredjenju sa drugom listom03.12.2020. u 22:08 - pre 40 meseci
Imam dve tabele

Prva

aaa bbb ccc 1a
sas hjk lll 2b
dsa dsa dsa 2b
das dsa das 3c
fff ggg ggg 2b
ddd dsa iop 4f
da2 eqd hgf 1a

Druga

1a,hh
2b,gg
3c,jj
4f,ll

Treba da zamenim u prvoj listi cetvrto polje za drugim stringom iz druge tabele, sto bi izgledao ovako


aaa bbb ccc hh
sas hjk lll gg
dsa dsa dsa gg
das dsa das jj
fff ggg ggg gg
ddd dsa iop ll
da2 eqd hgf hh

Ako neko ima vremena da pomogne, hvala lepo. Verovatno cu i sam resiti uz pomoc google ali reko aj da postavim.





Having an idea is like being in a nutshell, but exchanging idea and collaborate
with
others is like being in infinite ocean of knowledge.
________________________________________________________________
____

Veruj u sebe. Ako ti neces, ko hoce?!

„Bolje živeti 100 godina kao milioner, nego sedam dana u bedi.“
 
Odgovor na temu

Panta_
Aleksandar Pantić
Kragujevac

Član broj: 214959
Poruke: 790



+162 Profil

icon Re: Python - Zamena stringa u poredjenju sa drugom listom04.12.2020. u 11:22 - pre 40 meseci
Jednostavno, uporedi zadnja dva znaka iz prve liste sa prva dva iz druge, ako odgovaraju, spoji, i to je to.

One-liner:
Code:
[e[:-2]+e2[-2:] for e in l1 for e2 in l2 if e[-2:] == e2[:2]]
 
Odgovor na temu

B3R1
Berislav Todorovic
NL

Član broj: 224915
Poruke: 794



+630 Profil

icon Re: Python - Zamena stringa u poredjenju sa drugom listom04.12.2020. u 11:44 - pre 40 meseci
Pod uslovom da tabele citas iz ascii fajla:

Code (python):

# - Druga tabela, podaci odvojeni zarezom:
replace = {}
for line in open('table2.txt', 'r').readlines():
    key, value = line.split(',')
    replace[key] = value

# - Prva tabela podaci odvojeni razmakom
new_table = []
for line in open('table1.txt', 'r').readlines():
    words = line.strip().split()
    if (words[-1] in replace):
        words[-1] = replace[words[-1]]
    new_table.append(' '.join(words))

# - Isprintaj
for line in new_table:
    print(line)
 

Verovatno moze i krace, uz pomoc "list comprehension" i drugih python trikova ... ali ja sam "old school". :-)
 
Odgovor na temu

Machiavelli...
Đorđe Đokanović
IT Support Engineer II
www.amazon.com
Philadelphia

Član broj: 90589
Poruke: 672
208.116.146.*

Sajt: www.linkedin.com/in/dorde..


+92 Profil

icon Re: Python - Zamena stringa u poredjenju sa drugom listom04.12.2020. u 11:59 - pre 40 meseci
Hvala na odgovorima! Danas cu da isprobam. Pozdrav.
Having an idea is like being in a nutshell, but exchanging idea and collaborate
with
others is like being in infinite ocean of knowledge.
________________________________________________________________
____

Veruj u sebe. Ako ti neces, ko hoce?!

„Bolje živeti 100 godina kao milioner, nego sedam dana u bedi.“
 
Odgovor na temu

Machiavelli...
Đorđe Đokanović
IT Support Engineer II
www.amazon.com
Philadelphia

Član broj: 90589
Poruke: 672
208.116.146.*

Sajt: www.linkedin.com/in/dorde..


+92 Profil

icon Re: Python - Zamena stringa u poredjenju sa drugom listom04.12.2020. u 15:00 - pre 40 meseci
@B3R1

Isprobah... Ne menja mi zadnju rec. Nema greske samo ne menja zadnju rec u prvoj sa korespondentnom recju iz druge pre zareza.
Samo mi odstampa prvu tabelu bez ikakvih izmena.

Logika je da ukoliko poslednja rec iz prve tabale matchuje poslednju rec iz druge tabele da se zameni poslednja rec iz prve tabele za recju pre zareza iz druge tabele

Having an idea is like being in a nutshell, but exchanging idea and collaborate
with
others is like being in infinite ocean of knowledge.
________________________________________________________________
____

Veruj u sebe. Ako ti neces, ko hoce?!

„Bolje živeti 100 godina kao milioner, nego sedam dana u bedi.“
 
Odgovor na temu

Machiavelli...
Đorđe Đokanović
IT Support Engineer II
www.amazon.com
Philadelphia

Član broj: 90589
Poruke: 672
208.116.146.*

Sajt: www.linkedin.com/in/dorde..


+92 Profil

icon Re: Python - Zamena stringa u poredjenju sa drugom listom04.12.2020. u 15:14 - pre 40 meseci
Evo konkretnog primera

Prva tabela
310 7872.5dcf.3392 dynamic ip,ipx,assigned,other TenGigabitEthernet9/1


Druga tabela
switch-1,TenGigabitEthernet9/1

Output

333 7872.5dcf.3392 dynamic ip,ipx,assigned,other switch1
Having an idea is like being in a nutshell, but exchanging idea and collaborate
with
others is like being in infinite ocean of knowledge.
________________________________________________________________
____

Veruj u sebe. Ako ti neces, ko hoce?!

„Bolje živeti 100 godina kao milioner, nego sedam dana u bedi.“
 
Odgovor na temu

Panta_
Aleksandar Pantić
Kragujevac

Član broj: 214959
Poruke: 790



+162 Profil

icon Re: Python - Zamena stringa u poredjenju sa drugom listom04.12.2020. u 16:45 - pre 40 meseci
Pa to nije isto kao u prvom primeru. U prvom menjaš poslednju reč iz prve tabele sa poslednjom iz druge, tj. onom posle zareza, a u ovom primeru sa prvom pre zareza. Zameni samo "replace[key] = value" sa "replace[value.rstrip()] = key":

Code (python):
# - Druga tabela, podaci odvojeni zarezom:
replace = {}
for line in open('table2.txt', 'r').readlines():
    key, value = line.split(',')
    replace[value.rstrip()] = key

# - Prva tabela podaci odvojeni razmakom
new_table = []
for line in open('table1.txt', 'r').readlines():
    words = line.strip().split()
    if (words[-1] in replace):
        words[-1] = replace[words[-1]]
    new_table.append(' '.join(words))

# - Isprintaj
for line in new_table:
    print(line)
 
Odgovor na temu

Machiavelli...
Đorđe Đokanović
IT Support Engineer II
www.amazon.com
Philadelphia

Član broj: 90589
Poruke: 672
208.116.146.*

Sajt: www.linkedin.com/in/dorde..


+92 Profil

icon Re: Python - Zamena stringa u poredjenju sa drugom listom04.12.2020. u 17:04 - pre 40 meseci
Hvala Panto, ocigledno da nisam lepo objasnio na pocetku. Evo isprobah sve radi! Potrosih vec pola sata "zezajuci" se sa upravo key ali ne resih.
Probah sa replace[value.rstrip()] = key i sve radi ko zmaj!

Hvala svima jos jednom.
Having an idea is like being in a nutshell, but exchanging idea and collaborate
with
others is like being in infinite ocean of knowledge.
________________________________________________________________
____

Veruj u sebe. Ako ti neces, ko hoce?!

„Bolje živeti 100 godina kao milioner, nego sedam dana u bedi.“
 
Odgovor na temu

Machiavelli...
Đorđe Đokanović
IT Support Engineer II
www.amazon.com
Philadelphia

Član broj: 90589
Poruke: 672
208.116.146.*

Sajt: www.linkedin.com/in/dorde..


+92 Profil

icon Re: Python - Zamena stringa u poredjenju sa drugom listom04.12.2020. u 17:14 - pre 40 meseci
Kad sam vec ovde da pitam jedno pitanje. Koji editor koristite za pisanje u Python?

Ja koristim vi sa par pluginova, ali jedna stvar me nervira. Recimo napisem deo koda i iz nekog razloga hocu da ga ubacim u, recimo, funkciju. U tom trenutku moram celom chunku koda da promenim indentaciju.
Jer postoji neki editor za Linux CLI koji, na primer, samo highlight deo koda i on automatski podesi indentaciju? Pretpostavljam da ima neki plug in ali ja ne znam.

Na primer, cisto da raxumete sta pitam.
Code:

unq_list=[]                                                                                                                
                                                                                                                                 
for i in list_in:                                                                                                          
    x = i.split()                                                                                                          
    y = (x[0])                                                                                                             
    unq_list.append(y)                                                                                                     
                                                                                                                                 
return(unq_list)


I recimo odlucim da ovo ubacim u funkciju

Code:

  def vlan_all(list_in):                                                                                                         
      unq_list=[]                                                                                                                
                                                                                                                                 
      for i in list_in:                                                                                                          
          x = i.split()                                                                                                          
          y = (x[0])                                                                                                             
          unq_list.append(y)                                                                                                     
                                                                                                                                 
      return(unq_list)


Znavi da recimo samo definisem funkciju i hajlajtujem kod koji bi isao u istu i da automatski uradi indentaciju?


Having an idea is like being in a nutshell, but exchanging idea and collaborate
with
others is like being in infinite ocean of knowledge.
________________________________________________________________
____

Veruj u sebe. Ako ti neces, ko hoce?!

„Bolje živeti 100 godina kao milioner, nego sedam dana u bedi.“
 
Odgovor na temu

B3R1
Berislav Todorovic
NL

Član broj: 224915
Poruke: 794



+630 Profil

icon Re: Python - Zamena stringa u poredjenju sa drugom listom04.12.2020. u 17:22 - pre 40 meseci
Usput, mislim da su tebi zapravo potrebni samo VLAN, MAC adresa i hostname, ovo "dynamic ip,ipx,..." ti bas i ne znaci previse:

310 7872.5dcf.3392 switch1

U tom slucaju, umesto linije:
    new_table.append(' '.join(words))

treba da stavis:
    new_table.append(words[0] + ' ' + words[1] + ' ' + words[-1])

i to bi bilo to, dobices ono sto trazis. :-)
 
Odgovor na temu

B3R1
Berislav Todorovic
NL

Član broj: 224915
Poruke: 794



+630 Profil

icon Re: Python - Zamena stringa u poredjenju sa drugom listom04.12.2020. u 17:52 - pre 40 meseci
Citat:
Machiavelli...:
Kad sam vec ovde da pitam jedno pitanje. Koji editor koristite za pisanje u Python?

Kao sto rekoh, ja sam old school i koristim 'vi', uz malo podesavanja u .vimrc, tacnije koristim poseban .vimrc koji sam nazvao .pyvimrc:
Code:

syntax on
set showmatch
set ts=4
set sts=4
set sw=4
set autoindent
set smartindent
set smarttab
set expandtab
set backspace=indent,eol,start

I onda kada radim u Pythonu, pozivam vi koristeci skracenicu 'vip', koju sam definisao u .bash_profile:
Code:

alias vip='vip -u ~/.pyvimrc'


U ovom tvom konkretnom slucaju slucaju, ja obicno koristim 'macro record' - 'qq', pa onda pomerim liniju za 4 polja od pocetka, uradim Esc, vratim se na pocetak (^), red nize i priisnem 'q', pa onda npr. da bih ponovio tu komandu 15 puta kazem '15@q'.

Verovatno postoji i bolji alat ... sta ga znam, meni s/w development nije core business, mada u poslednje vreme ne mogu da pobegnem od kodiranja. A koliko koristim 'vi', nikakvo cudo sto mi je pukao levi shift na laptopu na tri dela, cekam novu tastaturu ... cini mi se da su nekada radili robusnije tastature, ovo sada pukne pod mojim prstima vrlo brzo.
 
Odgovor na temu

Machiavelli...
Đorđe Đokanović
IT Support Engineer II
www.amazon.com
Philadelphia

Član broj: 90589
Poruke: 672
208.116.146.*

Sajt: www.linkedin.com/in/dorde..


+92 Profil

icon Re: Python - Zamena stringa u poredjenju sa drugom listom04.12.2020. u 17:54 - pre 40 meseci
Hahaha to si u pravu :-)

Dodacu jos i IP i port na switchu iz druge tabele :-)
Jer ovde identifikujem downstream access switch, zatim na njemu opet sh mac address-table | i mac za port na switchu
Having an idea is like being in a nutshell, but exchanging idea and collaborate
with
others is like being in infinite ocean of knowledge.
________________________________________________________________
____

Veruj u sebe. Ako ti neces, ko hoce?!

„Bolje živeti 100 godina kao milioner, nego sedam dana u bedi.“
 
Odgovor na temu

Machiavelli...
Đorđe Đokanović
IT Support Engineer II
www.amazon.com
Philadelphia

Član broj: 90589
Poruke: 672
208.116.146.*

Sajt: www.linkedin.com/in/dorde..


+92 Profil

icon Re: Python - Zamena stringa u poredjenju sa drugom listom04.12.2020. u 17:55 - pre 40 meseci
Hvala B3R1 - podesicu .vimrc mnogo me nervira ta indentacija :-)
Having an idea is like being in a nutshell, but exchanging idea and collaborate
with
others is like being in infinite ocean of knowledge.
________________________________________________________________
____

Veruj u sebe. Ako ti neces, ko hoce?!

„Bolje živeti 100 godina kao milioner, nego sedam dana u bedi.“
 
Odgovor na temu

B3R1
Berislav Todorovic
NL

Član broj: 224915
Poruke: 794



+630 Profil

icon Re: Python - Zamena stringa u poredjenju sa drugom listom04.12.2020. u 18:07 - pre 40 meseci
Citat:
Machiavelli...:
Jer ovde identifikujem downstream access switch, zatim na njemu opet sh mac address-table | i mac za port na switchu

Aha, tragas na kom portu je naucena neka MAC adresa. Imao sam negde neki prastari Perl skript od pre 20 godina koji je to radio, pokusacu da ga nadjem, ali nema garancija ... ipak je proslo 20 godina od kada sam se igrao sa Catalystima ... uhhh ... e, L2 problemi su smor najveci, znam ... :)
 
Odgovor na temu

Panta_
Aleksandar Pantić
Kragujevac

Član broj: 214959
Poruke: 790



+162 Profil

icon Re: Python - Zamena stringa u poredjenju sa drugom listom04.12.2020. u 18:09 - pre 40 meseci
Citat:
Znavi da recimo samo definisem funkciju i hajlajtujem kod koji bi isao u istu i da automatski uradi indentaciju?


Selektuj deo koda u nekom od visual modova i onda jednostavno Shift+> da pomeris selektovani kod desno ili Shift+< za levo.
 
Odgovor na temu

Machiavelli...
Đorđe Đokanović
IT Support Engineer II
www.amazon.com
Philadelphia

Član broj: 90589
Poruke: 672
208.116.146.*

Sajt: www.linkedin.com/in/dorde..


+92 Profil

icon Re: Python - Zamena stringa u poredjenju sa drugom listom04.12.2020. u 18:58 - pre 40 meseci
Nema potrebe B3R1 da trazis, skoro sam gotov... Jos par sitnica u scriptu i na apache da podesim neki jednostavan site da se pretraga vrsi sa web strane.

Hvala na pomoci do sad, resio si mi glavnu dilemu.
Having an idea is like being in a nutshell, but exchanging idea and collaborate
with
others is like being in infinite ocean of knowledge.
________________________________________________________________
____

Veruj u sebe. Ako ti neces, ko hoce?!

„Bolje živeti 100 godina kao milioner, nego sedam dana u bedi.“
 
Odgovor na temu

[es] :: Python :: Python - Zamena stringa u poredjenju sa drugom listom

[ Pregleda: 1410 | Odgovora: 15 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.