Автор Тема: Едно питане за python  (Прочетена 2011 пъти)

korea60

  • Напреднали
  • *****
  • Публикации: 189
    • Профил
Едно питане за python
« -: Jul 03, 2014, 20:01 »
текст от вида:
123-321
123-222

Как мога да го превърна във вида:
а=[123,123]
b=[321,222]

Пробвам с
text=open(text, 'r')
for line in text:
line = re.search(r'.*-', text)
print line

както и с някои модифокации на r i lstrip, но не ми се получава
Най-доброто до което стригнах е:
string = re.findall(r'\d+,\d+[-]', f.read()), проблема е че излиза 123-, а не 123

Дали може малко (то  не е много малко), помощ?
« Последна редакция: Jul 03, 2014, 20:54 от korea60 »
Активен

BRADATA

  • Напреднали
  • *****
  • Публикации: 833
  • Distribution: Slackware/Mint/CentOS
  • Window Manager: console/KDE/LXDE
    • Профил
    • WWW
Re: Едно питане за python
« Отговор #1 -: Jul 03, 2014, 21:22 »
Да ти кажа нещо не си описал всичко.... Т.е. непълно ти е заданието, а тук не мисля, че има хора, дето си нямат работа и имат желание да разгадават нечии заплетени въпроси.

Хинт - от вида във вида би трябвало да има по-точно еднозначно описание. Например обръщане поредността на знаците само на първата и/или и на втората част ала бала....
Активен

4096bits

  • Напреднали
  • *****
  • Публикации: 3390
    • Профил
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

korea60

  • Напреднали
  • *****
  • Публикации: 189
    • Профил
Re: Едно питане за python
« Отговор #3 -: Jul 03, 2014, 22:00 »
split го пробвах, но проблема ми е че подава всичко в един лист, а пък ако първо направя лист във вида:
123-.34- (примерно), после немога да ползвам split, върху лист.
Както и да е то и аз се обърках, благодаря ви, ше прегледам линковете.
Активен

4096bits

  • Напреднали
  • *****
  • Публикации: 3390
    • Профил
Re: Едно питане за python
« Отговор #4 -: Jul 03, 2014, 22:05 »
За какви цели ти е? Щато, ако се ползва в линукс среда, нещо с awk или sed. За съжаление тези двете така и не ги схванах
Все още.

И не можеш ли първо да пробваш join върху тоя лист като точката е "сепаратора" и после сплит с "-" ? Пайтъна не ми е много отръки, ама....
« Последна редакция: Jul 03, 2014, 22:08 от 4096bits »
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

korea60

  • Напреднали
  • *****
  • Публикации: 189
    • Профил
Re: Едно питане за python
« Отговор #5 -: Jul 03, 2014, 22:18 »
Идеята е да се събере информация за ползването на цпу и рам от зададен процес, като в последствие да се изчертае графика на стойностите. (за лично ползване е). awk и sed вършат работа, но с тях незная как в последствие да се пусне графика.

А иначе почти стана номера, като лист се обърне в стринг на които да се пусне split и посе пак се обърне в лист, но е адски грозно.
Активен

4096bits

  • Напреднали
  • *****
  • Публикации: 3390
    • Профил
Re: Едно питане за python
« Отговор #6 -: Jul 03, 2014, 22:40 »
Е грозно е, ама аз спрях да програмирам преди повече от десетилетие, а и тогава не бях за дълбал много, та за алгоритми, не мъ питай вече. Питон съм хващал два пъти, но проекта остана на трупчета, защото ме хвана друга вълна.
А sed и awk може да се използват само да ти форматират стринга както искаш, пък после го прави в каквито искаш графики.
То и една обикновена sh функция може да свърши работа. Извличаш от стринга само каквото ти трябва. Bash може да се справи чудесно със задачата.

Лист беше всъщност масив?
« Последна редакция: Jul 03, 2014, 22:43 от 4096bits »
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

korea60

  • Напреднали
  • *****
  • Публикации: 189
    • Профил
Re: Едно питане за python
« Отговор #7 -: Jul 04, 2014, 09:39 »
Прав си рагледах нещата и мисля, че gnuplot може да даде същъят резултат както nympy. Но така или иначе съм почнал поне да го довърша.
Иначе лист е във вида: ['a','b','c'].
То истината е че с обикновенни комадни от промта се вадят много по-бързо исканите резултати. :), отколкото с около 5-6 реда python. Поне за това което на мен ми трябва.
Активен

zxz

  • Напреднали
  • *****
  • Публикации: 614
  • Distribution: Linux Mint 18.2
  • Window Manager: XFCE
    • Профил
Re: Едно питане за python
« Отговор #8 -: Jul 04, 2014, 13:02 »
Доколкото съм разбрал, трябва ти нещо такова - http://pastebin.com/U2YLEh9b . От масива coord си взимаш стойностите и ги пишеш където си искаш.
Активен

korea60

  • Напреднали
  • *****
  • Публикации: 189
    • Профил
Re: Едно питане за python
« Отговор #9 -: Jul 04, 2014, 13:35 »
да, но да апендва само стоиностите преди - и в друг лист само тези след -, иначе извиквайки ги с
  • и т.е. става. Благодаря Ти, трябва да ми свърши работа.
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Едно питане за python
« Отговор #10 -: Jul 05, 2014, 02:26 »
Списъците в питона не са точно същото като масиви, щото могат да съдържат всякакви типове глупости. Между другото, python все повече ми допада (на сегашната ми работа се преквалифицирах на питонджия и оттам). Обаче за човек подкован със C има и големи глупости. Листовете примерно са такива, това е едно грандиозно раздуване на нещата, защото човек основно ги ползва като масив, т.е елементите са един и същ тип условно казано. Сега не че не мога да достъпвам по индекс ползвайки някакъв метод (ебати глупоста, за да адресирам някаква памет трябва да се вика някакъв метод, дали това не слага приличен overhead само по себе си?), ама цялата красота с това да знаеш кое колко точно памет заема и да си го достъпваш с разни аритметики и да копираш памет наляво-надясно някак отсъства и имам силни подозрения че зад кулисите това е организирано по ужасно разхитителен начин. Другият доволно идиотски момент в питона е липсата на нормален for цикъл. Ама да, то има for a in range (x,y). Само дето range(x,y) конструира on the fly един такъв списък и го итерира, което е просто прекрасно. Сега си представи range(1,1024*1024*1024) как ще ти изгенерира списък с 1 милиард елемента и съответно ще изяде няколко гигабайта РАМ за целта. Това е тежка нелепа простотия, защото мога лесно да си го представя на C, мога дори лесно на x86 асемблер да си го представя и някак там ми изглежда далеч по-просто и ефикасно. Знам че в питона има решение на тоя проблем, ама такова решение за нещо толкова просто и стандартно, просто не е нормално да стоят така нещата в който и да било програмен език.
Активен

"Knowledge is power" - France is Bacon

zxz

  • Напреднали
  • *****
  • Публикации: 614
  • Distribution: Linux Mint 18.2
  • Window Manager: XFCE
    • Профил
Re: Едно питане за python
« Отговор #11 -: Jul 05, 2014, 11:06 »
И мене много ме дразни това, че в питон няма нормална структура на фор цикъла. И аз съм започнал със С, после минах на С++ и после по необходимост на C#. Дори и в ц шап, пак си има стандартен фор цикъл, обаче има и foreach, което е точно същото като питонския нормален уж for.
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Пакетиране на python скрипт
Общ форум
pink 0 1816 Последна публикация Jul 12, 2007, 15:34
от pink
Python 3.1.2
Настройка на програми
fatalerrorbg 10 2861 Последна публикация Aug 30, 2010, 14:39
от bop_bop_mara
Проблем с Python
Настройка на програми
f1r3fl3x 4 1965 Последна публикация Jun 23, 2011, 22:25
от f1r3fl3x
Алгоритъм от Python в PHP.
Web development
bohosh 3 1585 Последна публикация Feb 23, 2014, 18:45
от gat3way
Искам да се зарежда python 3.7 вместо python 2.7
Web development
3p0 36 485 Последна публикация Dec 27, 2019, 00:49
от 4096bits