yael7899
25 במאי, 2020, 6:40am
היי,
לגבי הדוגמא הנ"ל -
אחרי שהשתמשנו בפונקציית גרנרטור למדנו שבשביל להפעיל אותו צריך לרוץ על הגנרטור בלולאה חיצונית על מנת לקבל ערכים מהפונקציה. למה כאן לא רצנו בלולאה אלא ישר הפעלנו set על הפונקציה?
orpazf
25 במאי, 2020, 6:42am
אני מבין ש scandir זה איטרטור שניתן לרוץ בעזרתו על קבצים באותה תיקייה.
רק לא הבנתי איך הגנרטור מופעל יותר מפעם אחת (ללא לולאת for או next) ונוצר set .
אשמח להסבר
import os
def get_filenames(path):
for file in os.scandir(path):
yield file.name
def common_filenames(path1, path2):
path1_files = set(get_filenames(path1))
path2_files = set(get_filenames(path2))
return path1_files & path2_files
common_filenames('images', 'resources/week5_images')