Cześć,
Przykładowo mam
x = [1,2,3] , y = [4,5,6]
Chciałbym zrobić coś w stylu:
(x[0]-y[0])**2 + (x[1]-y[1])**2 + (x[2]-y[2])**2
Czy można to zrobić przy pomocy funkcji typu map / reduce , żeby nie robić pętli for ?
Tak:
reduce(lambda a,b: a + b, [(a + b)**2 for a, b in zip(x,y)])
Zauważ, że [(a + b)**2 for a, b in zip(x,y)]
to to samo co map(lambda a,b: (a+b)**2, zip(x,y)
, a nie pętla.
Jakoś tak, mogą być małe błędy bo nie znam Pythona aż tak.
a pyton nie ma garbage collectora przypadkiem?:>
Pyton ma, system plików niekoniecznie (mowa o usunięciu pliku tymczasowego).
Ad pytanie:
os.remove(path)
Remove (delete) the file path. If path is a directory, OSError is raised; see rmdir() below to remove a directory. This is identical to the unlink() function documented below. On Windows, attempting to remove a file that is in use causes an exception to be raised; on Unix, the directory entry is removed but the storage allocated to the file is not made available until the original file is no longer in use.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.