Svetelektro.com

Svetelektro.com

Meno:
Heslo:
SVETELEKTRO • manipulacia retazca v Pythone

manipulacia retazca v Pythone

C,C++,C#

Moderátori: psichac, Moderátori

manipulacia retazca v Pythone

Odoslaťod OM0XA » 12 Júl 2017, 15:21

sekcia pre Python nie je, tak to davam do tejto. Riesim takyto problem. Z UDP paketov vycitavam MAC adresy istych zariadeni v LANke. Mam ich v liste DATA v tvare [ '112233445566' , '223344556677' ].
Potrebujem ich vypisat v tvare 11:22:33:44:55:66
LTRXnode je list IP adries.

Robim to takto:
Kód: Vybrať všetko
for idx, node in enumerate(LTRXnode):
   mac=map(''.join, zip(*[ iter(DATA[idx]) ]*2))
   print "%s\t\t%s" % (node, ":".join("%s" % c for c in mac))


Ma niekto nejake jednoduchsie riesenie? Nie som v Pythone az taky zbehly. Dik
OM0XA
Stály člen
Stály člen
Príspevky: 229
Založený: 03.10.2012
Bydlisko: Poprad
Karma: 2

Re: manipulacia retazca v Pythone

Odoslaťod vosa » 12 Júl 2017, 17:22

Stringy su tiez iterable.

Kód: Vybrať všetko
>>> a = '112233445566'
>>> ':'.join([a[i:i+2] for i in range(0,12,2)])
'11:22:33:44:55:66'


Takze takto?

Kód: Vybrať všetko
for idx, node in enumerate(LTRXnode):
    print "%s\t\t%s" % (node, ':'.join([DATA[idx][i:i+2] for i in range(0,12,2)]))
vosa
Obrázok používateľa
Nový člen
Nový člen
Príspevky: 82
Založený: 24.10.2012
Bydlisko: Bratislava
Karma: 3

Re: manipulacia retazca v Pythone

Odoslaťod OM0XA » 13 Júl 2017, 08:36

Dakujem, je to ovela jednoduchsie. Akurat som to kozmeticky upravil, kedze nemam rad v kode o nicom hovoriace ciselne konstanty :-)

Kód: Vybrať všetko
for idx, node in enumerate(LTRXnode):
    print "%s\t\t%s" % (node, ':'.join([DATA[idx][i:i+2] for i in range(0,len(DATA[idx]),2)]))
OM0XA
Stály člen
Stály člen
Príspevky: 229
Založený: 03.10.2012
Bydlisko: Poprad
Karma: 2


Naspäť na C,C++,C#

Kto je prítomný

Užívatelia prezerajúci si toto fórum: Žiadny registrovaný používateľ a 2 hostí.

Forums ©
Autor stránky je Ondrej Závodský(zawin), o graficky design sa stará Ľuboš Fabo(BUFU).

TOPlist

Powered by Copyright © UNITED-NUKE CMS. All Rights Reserved.
Čas potrebný k spracovaniu stránky 0.16 sekúnd