Форум сайта python.su
def f_read():
date_from_name = set()
for i in len(self.name_vuzov): #len(self.name_vuzov) количество файлов
for filename in self.name_vuzov[0:]: #self.name_vuzov[0:] спискок файлов
for line in open(filename): #открываем файлы
for word in line.lower().split(): #приводим данные в читаемый вид
dannii = i,word
date_from_name.add(dannii) #Добавлем данные в date_from_name = set()
Офлайн
не понятно почему используется set(). ИМХО, он тут не при чем или я чего-то не понимаю.. Что ты понимаешь под столбцом?
Офлайн
shupgМножество set() я использую по тому что туда проще всего загнать любой тип данный а дальше уже делать выборку. Но у меня не получается правильно распаковать файлы.
не понятно почему используется set(). ИМХО, он тут не при чем или я чего-то не понимаю.. Что ты понимаешь под столбцом?
>>print date_from_name
>>('Данные из file1','Данные из file2','Данные из file3'
'Данные из file1','Данные из file2','Данные из file3'
'Данные из file1','Данные из file2','Данные из file3')
#=================
def by_value(item): # функция сортировки
return item[2]
for keys in sorted(date_from_name, key=by_value): #распаковка date_from_name
test=('{0}:{1}:{2}').format(keys[0],keys[1], keys[2]) #получение срезом столбцов из date_from_name
print (test)
#--------вывод данных----
>>Данные из file1:Данные из file2:Данные из file3
Данные из file1:Данные из file2:Данные из file3
Данные из file1:Данные из file2:Данные из file3
Отредактировано (Окт. 18, 2010 16:37:40)
Офлайн
приведи примеры входного и выходного файлов
Офлайн
o7412369815963в файлах все в строку
приведи примеры входного и выходного файлов
Офлайн
Да уж, объясняете вы сумбурно.
На выходе ожидаете это?:
stroka1_iz_faila1:stroka1_iz_faila2:stroka1_iz_faila3
stroka2_iz_faila1:stroka2_iz_faila2:stroka2_iz_faila3
stroka3_iz_faila1:stroka3_iz_faila2:stroka3_iz_faila3
Или в строках по три слова и нужно как-нибудь так?:
stroka1_iz_faila1_slovo1:stroka1_iz_faila2_slovo1:stroka1_iz_faila3_slovo1
….
Офлайн
Edstroka1_iz_faila1:stroka1_iz_faila2:stroka1_iz_faila3
Да уж, объясняете вы сумбурно.
На выходе ожидаете это?:
stroka1_iz_faila1:stroka1_iz_faila2:stroka1_iz_faila3
stroka2_iz_faila1:stroka2_iz_faila2:stroka2_iz_faila3
stroka3_iz_faila1:stroka3_iz_faila2:stroka3_iz_faila3
Или в строках по три слова и нужно как-нибудь так?:
stroka1_iz_faila1_slovo1:stroka1_iz_faila2_slovo1:stroka1_iz_faila3_slovo1
….
Офлайн
Тогда как-нибудь так:
name_vuzov = ['1.txt', '2.txt', '3.txt']
date_from_name = []
for filename in name_vuzov:
i = 1
for line in open(filename):
if len(date_from_name) < i:
date_from_name.append([])
date_from_name[i-1].append(line.strip())
i += 1
Офлайн
EdОгромное спасибо. целый день над этим бился
Тогда как-нибудь так:name_vuzov = ['1.txt', '2.txt', '3.txt']
date_from_name = []
for filename in name_vuzov:
i = 1
for line in open(filename):
if len(date_from_name) < i:
date_from_name.append([])
date_from_name[i-1].append(line.strip())
i += 1
Офлайн
можно в одну строку:
zip(*((l.strip() for l in open(f, "rb")) for f in name_vuzov))
Офлайн