Найти - Пользователи
Полная версия: Цикл запись в файл
Начало » Python для новичков » Цикл запись в файл
1
Pytonist
Доброй ночи. У меня такой вопрос. Есть два списка (имена, фамилии) которіе тянутся из двуз разных 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")

Пробовал писать через функцию map(), пишет “ValueError: too many values to unpack (expected 2)”:
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)

Понимаю, говнокод ужасный Но я только учусь. Как здесь быть? Уже очень долго ломаю себе голову. Подскажите Спасибо!
py.user.next
>>> import itertools
>>> 
>>> list(zip(itertools.cycle([1, 2, 3]), [4, 5, 6, 7, 8]))
[(1, 4), (2, 5), (3, 6), (1, 7), (2, 8)]
>>>
Pytonist
py.user.next
Огромное спасибо!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB