Форум сайта python.su
1
Доброй ночи. У меня такой вопрос. Есть два списка (имена, фамилии) которіе тянутся из двуз разных URL соответственно. У меня задача, записать это все в файл в двух стлобцах. Имен ~450, фамилий ~20000. Только нужно чтобы когда список имен закончится, снова начинался с начала до тех пор, пока не закочатся фамилии.
Написал такой код c функцией zip(). Но запись остонавливается после окончания меньшего списка(имена):
import urllib.request url1 = urllib.request.urlopen("https://...Name.txt").read() url2 = urllib.request.urlopen("https://...LastName.txt").read() dec1 = url1.decode() dec2 = url2.decode() sort1 = sorted(dec1.split()) sort2 = sorted(dec2.split()) with open(r"file.txt", "w") as plik: for i, l in zip(s1, s2): plik.write(i + "--" + l + "\n")
import urllib.request url1 = urllib.request.urlopen("https://...Name.txt").read() url2 = urllib.request.urlopen("https://...LasName.txt").read() dec1 = url1.decode() dec2 = url2.decode() sort1 = sorted(dec1.split()) sort2 = sorted(dec2.split()) def f(x, y): return x + y with open(r"file.txt", "w") as plik: for i, l in map(f, s1, s2): plik.write(f)
Но я только учусь. Как здесь быть? Уже очень долго ломаю себе голову. Подскажите
Спасибо!Отредактировано Pytonist (Май 27, 2015 03:28:38)
Офлайн
857
>>> import itertools >>> >>> list(zip(itertools.cycle([1, 2, 3]), [4, 5, 6, 7, 8])) [(1, 4), (2, 5), (3, 6), (1, 7), (2, 8)] >>>
Офлайн
1
py.user.nextОгромное спасибо!
Офлайн