我对python中的字符串有一个奇怪的问题。我有两个列表,我必须在两个字符串中找到相同的名称。第二个列表是之前打开的文件中的readline()。 这是我的代码:
import requests
import sys
from bs4 import BeautifulSoup as bs
from urllib.request import urlopen
###VARIABILI###
###FUNZIONI###
def get_mysellers():
s = open("sellers.txt" , 'r')
sellers = []
for line in s:
sellers.append(line)
return sellers
def get_onlinesellers():
online_sellers = []
table_body = soup.findAll('span', {"class": "d-flex has-content-centered mr-1"}) #questa è la tabella contenente la lista dei venditori con annesse informazioni
i = 0
for child in table_body:
#print(child.string)
online_sellers.append(child.string)
i = i + 1
return online_sellers
def list_of_choosen(selleronline, sellercheck ):
choosen = []
print(range(len(sellercheck)))
for i in range(len(selleronline)):
for j in range(len(sellercheck)):
if(selleronline[i] == sellercheck[j]):
choosen.append(sellercheck[j])
return choosen
###MAIN###
page = urlopen("https://www.cardmarket.com/it/YuGiOh/Products/Singles/Chaos-Impact/Draco-Berserker-of-the-Tenyi")
soup = bs(page, 'html.parser')
online_sellers = get_onlinesellers()
sellers = get_mysellers()
chosen = list_of_choosen(online_sellers, sellers)
print(chosen)
卖家是这样的['L-Air1993\n','prova\n','CardsellerVienna\n','Terryloth\n']。我认为问题是“\n”,但如果我在sellers中打印单个元素,则获得的名称没有“\n”
多谢各位
当您打印“L-Air1993\n”时,它看起来就像只有名称一样。换行符只是在末尾添加了一个换行符,但很难看到后面是否有任何内容
要从列表中删除所有新行,请尝试以下操作:
然后将在线卖家列表与卖家无新行进行比较。希望这能解决你的问题
可以使用函数get\u mysellers中的方法strip从字符串中删除“\n”
相关问题 更多 >
编程相关推荐