Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:从for循环生成一个列表_Python_Python 3.x_For Loop - Fatal编程技术网

Python:从for循环生成一个列表

Python:从for循环生成一个列表,python,python-3.x,for-loop,Python,Python 3.x,For Loop,我写了一周的代码,现在我觉得很失落,我正试图从多个列表中跳出到一个列表中,然后添加到CSV。该程序正在网站上运行。第1部分创建链接并获取重定向链接,然后在第2部分中连接到站点并获取表。第3部分是从标题中提取单词(大约有43个单词),在描述中查找所有单词,然后在单词的左侧添加60个字符,在右侧添加60个字符。这是在循环,因为有大量的房地产提供,我需要采取的信息。希望你能理解。编码需要很多能量 您可以在此处找到整个程序(编辑部分): 代码如下: for p in page_soup.select('

我写了一周的代码,现在我觉得很失落,我正试图从多个列表中跳出到一个列表中,然后添加到CSV。该程序正在网站上运行。第1部分创建链接并获取重定向链接,然后在第2部分中连接到站点并获取表。第3部分是从标题中提取单词(大约有43个单词),在描述中查找所有单词,然后在单词的左侧添加60个字符,在右侧添加60个字符。这是在循环,因为有大量的房地产提供,我需要采取的信息。希望你能理解。编码需要很多能量

您可以在此处找到整个程序(编辑部分):

代码如下:

for p in page_soup.select('section#description'):
            p = str(p)
            p = p.lower() 

            lista_k = []            

            for j in range(len(HEADERS3)): 
                #print('j:',j)
                # find_p znajduje wszystkie słowa kluczowe z HEADERS3 w paragrafie na stronie kontraktu.
                find_p = re.findall(HEADERS3[j],p)
                # listy, które wyświetlają pozycję startową poszczególnych słów muszą zaczynać się od '-' lub 0?,
                # ponieważ, gdy dane słowo nie zostanie odnalezione to listy będą puste w pierwszej iteracji pętli
                # co w konsekewncji doprowadzi do błędu out of range
                m_start = []
                m_end = []
                lista_j = []


                for m in re.finditer(HEADERS3[j], p):
                    #print((m.start(),m.end()), m.group())
                    m_start.append(m.start())
                    m_end.append(m.end())

                #print(h)

                for k in range(len(m_start)):
                    #właściwe teraz nie wiem po co to jest..
                    try:
                        x = m_start[k]
                        y = m_end[k]
                    except IndexError:
                        x = m_start[0]
                        y = m_end[0]
                    #print('xy:',x,y)
                    #print(find_p) 
                #print(HEADERS3[j])
                    z = (HEADERS3[j]+':',p[-60+x:y+60]+'    ++-NNN-++') 
                    lista_j.append(z)
                    #print(z)
                #print ('lista_j:',lista_j)
                lista_k.append(lista_j)
            print('lista_k:',lista_k)
输出为:

                ----------- 3 -----------
 http://www.kontrakt.szczecin.pl/mieszkanie-wynajem-46m2-2000pln-gorna-bezrzecze-szczecin-zachodniopomorskie,351353
['351353', '2', '2 000 PLN', '-', '46\xa0m2', '0', '2', 'Widna', '-', '-', 'Gazowe', 'Tak', 'Tak', 'Piec gazowy', '-', 'Cegła', '2007', 'Bardzo dobry', '-', '-', '-', 'Liczba tarasów: 2', '-', 'Ogród: Tak', '-', 'Garaż: Tak', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-']
lista_j: []
lista_j: []
lista_j: []
lista_j: [('gospodarcze:', 'arkingowe na samochód ,rower ale również jako pomieszczenie gospodarcze z półkami. cena najmu do negocjacji,warunkiem jednak koniec    ++-NBP-++')]
lista_j: []
lista_j: [('parking:', 'ie do garażu.przed garażem podjazd i ogólnodostępne miejsca parkingowe . w pobliżu wiele sklepów,między innymi dwa supermarkety    ++-NBP-++'), ('parking:', 'z śmieci i f. remontowy.garaż do wykorzystania jako miejsce parkingowe na samochód ,rower ale również jako pomieszczenie gospod    ++-NBP-++')]
lista_j: []
lista_j: [('garaż:', 'nie dwupokojowe usytuowane na parterze z tarasem ,ogrodem i garażem.budynek wybudowany w 2007r. na nowym kameralnym,bezpieczn    ++-NBP-++'), ('garaż:', 'ience piec dwuobiegowy typu vaillant .z ogrodu przejście do garażu.przed garażem podjazd i ogólnodostępne miejsca parkingowe     ++-NBP-++'), ('garaż:', 'uobiegowy typu vaillant .z ogrodu przejście do garażu.przed garażem podjazd i ogólnodostępne miejsca parkingowe . w pobliżu w    ++-NBP-++'), ('garaż:', ' 220zł w nim zaliczka na wodę , wywóz śmieci i f. remontowy.garaż do wykorzystania jako miejsce parkingowe na samochód ,rower    ++-NBP-++')]
lista_j: [('ogród:', 'in.salon z aneksem kuchennym ok 24mkw z wyjściem na taras i ogród.taras w częsci zadaszony z kącikiem z siedziskiem oraz ozdo    ++-NBP-++'), ('ogród:', 'kiem z siedziskiem oraz ozdobną pergolą w części otwarty na ogród z zadbanym trawnikiem oraz krzewami :porzeczką,borówką i ma    ++-NBP-++')]
lista_j: [('ogrod:', 'ne mieszkanie dwupokojowe usytuowane na parterze z tarasem ,ogrodem i garażem.budynek wybudowany w 2007r. na nowym kameralnym    ++-NBP-++'), ('ogrod:', 'umywalką i wc. w łazience piec dwuobiegowy typu vaillant .z ogrodu przejście do garażu.przed garażem podjazd i ogólnodostępne    ++-NBP-++')]
lista_j: []
lista_j: []
lista_j: []
lista_j: []
lista_j: []
lista_j: []
lista_j: [('remon:', 'o zarządcy 220zł w nim zaliczka na wodę , wywóz śmieci i f. remontowy.garaż do wykorzystania jako miejsce parkingowe na samoc    ++-NBP-++')]
lista_j: []
lista_j: []
lista_j: []
lista_j: []
lista_j: []
lista_j: []
lista_j: []
lista_j: []
lista_j: []
lista_j: []
lista_j: []
lista_j: []
lista_j: [('aneks:', 'miejskiej-szybki dojazd do centrum miasta ok.10 min.salon z aneksem kuchennym ok 24mkw z wyjściem na taras i ogród.taras w cz    ++-NBP-++'), ('aneks:', 'anym trawnikiem oraz krzewami :porzeczką,borówką i maliną.w aneksie kuchennym meble w zabudowie a w wyposażeniu: kuchenka gaz    ++-NBP-++')]
lista_j: []
lista_j: []
lista_j: []
lista_j: []
lista_j: []
lista_j: [('zabudow:', 'ami :porzeczką,borówką i maliną.w aneksie kuchennym meble w zabudowie a w wyposażeniu: kuchenka gazowa amica,z piekarnikiem ele    ++-NBP-++'), ('zabudow:', ' przeszklona ława.w drugim pokoju sypialni ok.15mkw:szafa w zabudowie typu komandor oraz duże łóżko i dwie szafki nocne.łazienk    ++-NBP-++')]
lista_j: []
lista_j: []
lista_j: []
lista_j: []
lista_j: []
lista_j: []
lista_j: []
lista_j: []
lista_k: [[], [], [], [('gospodarcze:', 'arkingowe na samochód ,rower ale również jako pomieszczenie gospodarcze z półkami. cena najmu do negocjacji,warunkiem jednak koniec    ++-NBP-++')], [], [('parking:', 'ie do garażu.przed garażem podjazd i ogólnodostępne miejsca parkingowe . w pobliżu wiele sklepów,między innymi dwa supermarkety    ++-NBP-++'), ('parking:', 'z śmieci i f. remontowy.garaż do wykorzystania jako miejsce parkingowe na samochód ,rower ale również jako pomieszczenie gospod    ++-NBP-++')], [], [('garaż:', 'nie dwupokojowe usytuowane na parterze z tarasem ,ogrodem i garażem.budynek wybudowany w 2007r. na nowym kameralnym,bezpieczn    ++-NBP-++'), ('garaż:', 'ience piec dwuobiegowy typu vaillant .z ogrodu przejście do garażu.przed garażem podjazd i ogólnodostępne miejsca parkingowe     ++-NBP-++'), ('garaż:', 'uobiegowy typu vaillant .z ogrodu przejście do garażu.przed garażem podjazd i ogólnodostępne miejsca parkingowe . w pobliżu w    ++-NBP-++'), ('garaż:', ' 220zł w nim zaliczka na wodę , wywóz śmieci i f. remontowy.garaż do wykorzystania jako miejsce parkingowe na samochód ,rower    ++-NBP-++')], [('ogród:', 'in.salon z aneksem kuchennym ok 24mkw z wyjściem na taras i ogród.taras w częsci zadaszony z kącikiem z siedziskiem oraz ozdo    ++-NBP-++'), ('ogród:', 'kiem z siedziskiem oraz ozdobną pergolą w części otwarty na ogród z zadbanym trawnikiem oraz krzewami :porzeczką,borówką i ma    ++-NBP-++')], [('ogrod:', 'ne mieszkanie dwupokojowe usytuowane na parterze z tarasem ,ogrodem i garażem.budynek wybudowany w 2007r. na nowym kameralnym    ++-NBP-++'), ('ogrod:', 'umywalką i wc. w łazience piec dwuobiegowy typu vaillant .z ogrodu przejście do garażu.przed garażem podjazd i ogólnodostępne    ++-NBP-++')], [], [], [], [], [], [], [('remon:', 'o zarządcy 220zł w nim zaliczka na wodę , wywóz śmieci i f. remontowy.garaż do wykorzystania jako miejsce parkingowe na samoc    ++-NBP-++')], [], [], [], [], [], [], [], [], [], [], [], [], [('aneks:', 'miejskiej-szybki dojazd do centrum miasta ok.10 min.salon z aneksem kuchennym ok 24mkw z wyjściem na taras i ogród.taras w cz    ++-NBP-++'), ('aneks:', 'anym trawnikiem oraz krzewami :porzeczką,borówką i maliną.w aneksie kuchennym meble w zabudowie a w wyposażeniu: kuchenka gaz    ++-NBP-++')], [], [], [], [], [], [('zabudow:', 'ami :porzeczką,borówką i maliną.w aneksie kuchennym meble w zabudowie a w wyposażeniu: kuchenka gazowa amica,z piekarnikiem ele    ++-NBP-++'), ('zabudow:', ' przeszklona ława.w drugim pokoju sypialni ok.15mkw:szafa w zabudowie typu komandor oraz duże łóżko i dwie szafki nocne.łazienk    ++-NBP-++')], [], [], [], [], [], [], [], []]
[] 

输出(IMG):

问题是,在循环的每次迭代中,您都会反复初始化
lista\u j
。你需要把它移出循环

未经测试,但应有效:

for p in page_soup.select('section#description'):
            p = str(p)
            p = p.lower() 

            lista_k = []  
            lista_j = []

            for j in range(len(HEADERS3)): 
                #print('j:',j)
                # find_p znajduje wszystkie słowa kluczowe z HEADERS3 w paragrafie na stronie kontraktu.
                find_p = re.findall(HEADERS3[j],p)
                # listy, które wyświetlają pozycję startową poszczególnych słów muszą zaczynać się od '-' lub 0?,
                # ponieważ, gdy dane słowo nie zostanie odnalezione to listy będą puste w pierwszej iteracji pętli
                # co w konsekewncji doprowadzi do błędu out of range
                m_start = []
                m_end = []



                for m in re.finditer(HEADERS3[j], p):
                    #print((m.start(),m.end()), m.group())
                    m_start.append(m.start())
                    m_end.append(m.end())

                #print(h)

                for k in range(len(m_start)):
                    #właściwe teraz nie wiem po co to jest..
                    try:
                        x = m_start[k]
                        y = m_end[k]
                    except IndexError:
                        x = m_start[0]
                        y = m_end[0]
                    #print('xy:',x,y)
                    #print(find_p) 
                #print(HEADERS3[j])
                    z = (HEADERS3[j]+':',p[-60+x:y+60]+'    ++-NNN-++') 
                    lista_j.append(z)
                    #print(z)
                #print ('lista_j:',lista_j)
                lista_k.append(lista_j)
            print('lista_k:',lista_k)
甚至在第一个
for
循环之外,具体取决于您的情况:

lista_k = []
lista_j = []
for p in page_soup.select('section#description'):
            p = str(p)
            p = p.lower() 

            for j in range(len(HEADERS3)): 
                #print('j:',j)
                # find_p znajduje wszystkie słowa kluczowe z HEADERS3 w paragrafie na stronie kontraktu.
                find_p = re.findall(HEADERS3[j],p)
                # listy, które wyświetlają pozycję startową poszczególnych słów muszą zaczynać się od '-' lub 0?,
                # ponieważ, gdy dane słowo nie zostanie odnalezione to listy będą puste w pierwszej iteracji pętli
                # co w konsekewncji doprowadzi do błędu out of range
                m_start = []
                m_end = []



                for m in re.finditer(HEADERS3[j], p):
                    #print((m.start(),m.end()), m.group())
                    m_start.append(m.start())
                    m_end.append(m.end())

                #print(h)

                for k in range(len(m_start)):
                    #właściwe teraz nie wiem po co to jest..
                    try:
                        x = m_start[k]
                        y = m_end[k]
                    except IndexError:
                        x = m_start[0]
                        y = m_end[0]
                    #print('xy:',x,y)
                    #print(find_p) 
                #print(HEADERS3[j])
                    z = (HEADERS3[j]+':',p[-60+x:y+60]+'    ++-NNN-++') 
                    lista_j.append(z)
                    #print(z)
                #print ('lista_j:',lista_j)
                lista_k.append(lista_j)
            print('lista_k:',lista_k)

你真正的问题是什么?对不起,我现在真的很累了。我想做一个这样的列表[“”,“”,garage+garage+garage,“”,“”,“”,“”,kitchen+kitchen,“”]。这是因为在循环中的每个迭代过程中都要重新初始化
lista_j=[]
。将
lista_j=[]
移出循环。不,返回Nothing,它仍然是i j循环,因此它执行43次。另外,循环中嵌套了元组,如何将其导出到一个列表中?是的,更好!但现在它是这样的:lista_k:[[('kuchni:','(2018r.)na ul.kusocièskiego.pokoje czścioo Umebrowane,kuchnia wyposażona w lodówkę,kuchenkęi meble.łazienka z kabin++-NNN-++'),(“opłat:”,“we,fitness itp.czynsz najmu wynosi 1850 złotych dodatkowo opłaty za energięelektrycznąoraz opłaty do zarządcy w wysokości++-NNN-++”),列表中有嵌套的(元组)。如何去除它们?