无法成功 运行 列表理解 python 中的列表列表
Can't successfully run list comprehension on list of lists in python
我正在尝试向列表中的链接添加一个 'https:' 前缀,如果它们没有开头的话。但是,当我 运行 这样做时,现有列表没有任何反应。谁能告诉我为什么?
pdf = ['//www.website.com/pdf_file.pdf', '//www.website2.com/pdf_file.pdf']
con = []
redir = ['//www.redirectlink.com/download']
no_anchor_pdf = []
lol = [pdf, con, redir, no_anchor_pdf]
for l in lol:
try:
if l[0][0:6] != 'https:' and l[0][0:6] != 'http:/':
l = ['https:' + item for item in l]
print('added prefix')
else:
pass
except:
pass
尝试使用正则表达式来简化解决方案
pdf = ['//www.website.com/pdf_file.pdf', '//www.website2.com/pdf_file.pdf']
con = ['https://whosebug.com/']
redir = ['//www.redirectlink.com/download']
no_anchor_pdf = []
lol = [*pdf, *con, *redir, *no_anchor_pdf]
import re
for i in range(len(lol)):
if re.match('^https',lol[i]):
continue
else:
res=f'https:{lol[i]}'
lol[i]=res
print(lol)
#['https://www.website.com/pdf_file.pdf', 'https://www.website2.com/pdf_file.pdf', 'https://whosebug.com/', 'https://www.redirectlink.com/download']
我正在尝试向列表中的链接添加一个 'https:' 前缀,如果它们没有开头的话。但是,当我 运行 这样做时,现有列表没有任何反应。谁能告诉我为什么?
pdf = ['//www.website.com/pdf_file.pdf', '//www.website2.com/pdf_file.pdf']
con = []
redir = ['//www.redirectlink.com/download']
no_anchor_pdf = []
lol = [pdf, con, redir, no_anchor_pdf]
for l in lol:
try:
if l[0][0:6] != 'https:' and l[0][0:6] != 'http:/':
l = ['https:' + item for item in l]
print('added prefix')
else:
pass
except:
pass
尝试使用正则表达式来简化解决方案
pdf = ['//www.website.com/pdf_file.pdf', '//www.website2.com/pdf_file.pdf']
con = ['https://whosebug.com/']
redir = ['//www.redirectlink.com/download']
no_anchor_pdf = []
lol = [*pdf, *con, *redir, *no_anchor_pdf]
import re
for i in range(len(lol)):
if re.match('^https',lol[i]):
continue
else:
res=f'https:{lol[i]}'
lol[i]=res
print(lol)
#['https://www.website.com/pdf_file.pdf', 'https://www.website2.com/pdf_file.pdf', 'https://whosebug.com/', 'https://www.redirectlink.com/download']