我正在通过Coursera(Chuck博士!)学习Python,并在家庭作业之外完成了我的第一个“有用的”个人脚本。
它基本上使用两个单词/数字列表,并从这些项目中创建所有可能的组合。我将使用它来强制一个旧的密码保护文件,我确信这些元素(但不是组合)。
经过数小时的摆弄后,剧本终于正常运作。 我的问题是,如果这是一种编写代码的“Pythonic”方式。从一开始就以正确的方式学习它可能很重要。
import itertools
beginfile = open('/Users/Mat/Python/combinations/begin.txt')
beginlist = []
for line in beginfile:
line = line.rstrip()
beginlist.append(line)
if line.islower():
capital = line.title()
beginlist.append(capital)
endfile = open('/Users/Mat/Python/combinations/end.txt')
endlist = []
for line in endfile:
line = line.rstrip()
endlist.append(line)
x = itertools.product(beginlist, endlist)
counter = 0
for i in x:
print("".join(i))
counter += 1
print ('TOTAL:', counter, 'items')
答案 0 :(得分:1)
import itertools
with open('/Users/Mat/Python/combinations/begin.txt') as beginfile:
beginlist = [line.rstrip().title() for line in beginfile if line.rstrip().islower()]
with open('/Users/Mat/Python/combinations/end.txt') as endfile:
endlist = [line.rstrip() for line in endfile]
x = itertools.product(beginlist, endlist)
data = ["".join(i) for i in x]
print ('TOTAL:', len(data), 'items')