Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> методы строк 
:(
    Опции темы
sdsdsdsd
Дата 16.2.2009, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 19.7.2007

Репутация: нет
Всего: нет



print  "  dfdfds,sdf,sdf.sdm,s  ".strip().split(",")
все работает, все хорошо. но как быть если я захочу добавить "\n".join() ?
Возможно ли уменьшить код т.е. сделать более эффективно?
Спасибо.
PM MAIL   Вверх
sdsdsdsd
Дата 16.2.2009, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 19.7.2007

Репутация: нет
Всего: нет



print  "\n".join("  dfdfds,sdf,sdf.sdm,s  ".strip().split(","))
Я сделал так. Есть другие варианты?
PM MAIL   Вверх
alex_smirnov
Дата 16.2.2009, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 194
Регистрация: 22.6.2007
Где: Санкт-Петербург

Репутация: 2
Всего: 4



Наверно так будет эффективнее:

Код

s = "  dfdfds,sdf,sdf.sdm,s  "
print s.strip().replace(',', '\n')

PM GTalk Jabber   Вверх
sdsdsdsd
Дата 17.2.2009, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 19.7.2007

Репутация: нет
Всего: нет



Код

f = open("1.txt", "r")
g = f.readline()
print "\n".join(g.strip().split(",")).replace(" ","")


1.txt
Код
 dfdf, dfdd,,df.df,df 


Результат:
dfdf
dfdd

df.df
df

Не могу понять как справится с этими ,, ведь они все портят(с новой строки). Как быть?
Существуют ли способы  что бы измерить время выполнения кода? Что бы выбрать оптимальный.
Делаю print g[2], понятное дело что в ответ я получу f. Когда хотелось бы dfdd т.е. мне теперь нужно сделать g['dfdf','dfdd','df.df','df'], как добиться?
ЗЫ дико раздражает g = f.readline() которое стоит в одиночку, но так и не смог от этого избавиться.

Это сообщение отредактировал(а) sdsdsdsd - 17.2.2009, 20:15
PM MAIL   Вверх
alex_smirnov
Дата 18.2.2009, 01:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 194
Регистрация: 22.6.2007
Где: Санкт-Петербург

Репутация: 2
Всего: 4



Опишите четкие правила, по которым хотите форматировать текст, а то так гадать можно сколько угодно.

И откуда манера писать больше трех вызовов методов в одной строке? smile
PM GTalk Jabber   Вверх
sdsdsdsd
Дата 18.2.2009, 01:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 19.7.2007

Репутация: нет
Всего: нет



Т.к. я только изучая то четкой задачи нет. 
Допустим мой пример выше, взять строку (из файла) и обработать её. Убрать пробелы(почти получилось), разбить на нужные промежутки с возможностью их вызова. Строку я смог отформатировать как мне нужно(с ,, не разобрался), но вот как теперь каждый фрагмент вызвать, по поему замыслу на print g[2] я должен видеть df.df.
Ну мне кажется так выглядить аккуратно и компактно. Я поэтому пытаюсь все сократить. Не верное решение?
ЗЫ сорри за терминологию. может быть лучше обсудить в личных сообщениях? Спасибо за помощь.
PM MAIL   Вверх
Fenrir13
Дата 18.2.2009, 07:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 20.9.2008

Репутация: 1
Всего: 2



Если нужно из строки "слов", беспорядочно разделённых запятыми, получить аккуратный массив, тогда так:
Код

filtered = [item.strip() for item in original.split(",") if item.strip()]

Это без оглядок на оптимальность.
PM MAIL Jabber   Вверх
_Viper_
Дата 19.2.2009, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 8.11.2006

Репутация: 10
Всего: 11



Цитата(sdsdsdsd @  17.2.2009,  20:14 Найти цитируемый пост)
Существуют ли способы  что бы измерить время выполнения кода? Что бы выбрать оптимальный.
 Модуль profile.

Цитата(sdsdsdsd @  17.2.2009,  20:14 Найти цитируемый пост)
ЗЫ дико раздражает g = f.readline() которое стоит в одиночку, но так и не смог от этого избавиться.
Если нужна только первая строка из файла то можно так: g = open("1.txt", "r").readline()

PM MAIL   Вверх
EDELWEISS
Дата 24.3.2009, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


КОДЕР



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 23.3.2009

Репутация: нет
Всего: нет



 print  "  dfdfds,sdf,sdf.sdm,s  ".strip().split(","),+"\n".join()

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0697 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.