列表的Python联合

时间:2019-03-12 13:54:56

标签: python-3.x list tuples union

我正在尝试编写一个简单的管理面板查找器。我想打开文件“ site.txt”和文件“ word.txt”。打开后,我想加入字符串,只能用输入来完成,我无法将第一个站点与word.txt中的所有单词进行比较

word = []
site = []
selection = input("Insert liste site: ")
f = open(selection,'r+')
d = f.readline().strip()
site.insert(0,d)

wlist = input("Insert wordlist: ")
h = open(wlist, 'r+')
e = h.readline().strip()
word.insert(0,e)
union = str(site[0]+word[0])
print(aaa)

使用此命令,我可以正确输出:http://11.com/admin 但是我不明白如何在site []中加载所有txt文件,并在输出中有一个干净的列表,我也尝试过:

word = []
site = []
selection = input("Insert liste site: ")
f = open(selection,'r+')
site.append(f.read().split())
print(site)
# Output 
[['htp://11.com/', 'htp://22.com/', 'htp://3.com/', 'htp://4/', 'http://55.com/', 'http://6.com/', 'htp://7.com/', 'htp://8.com/', 'http://99/', 'http://10.com/']] -> output.

如果我尝试合并网站+单词,程序将为我显示一个如上所示的列表,该列表未加入。

1 个答案:

答案 0 :(得分:0)

请考虑以下.txt文件:

site.txt:

http://a.com/
http://b.com/
http://c.com/

word.txt:

admin
admin_login

在这样的列表理解中只需使用嵌套的for循环:

with open(input('Input path of site.txt:\n'),'r') as f:
    sites = f.read().splitlines()
with open(input('Input path of word.txt:\n'),'r') as f:
    words = f.read().splitlines()
results = [site+word for site in sites for word in words]
print(results)

输出将是:

 ['http://a.com/admin', 'http://a.com/admin_login', 'http://b.com/admin', 'http://b.com/admin_login', 'http://c.com/admin', 'http://c.com/admin_login']