是否可以将'for'循环中的两个语句组合在一起。
num_pro=raw_input("ENTER THE NUMBER OF PRODUCTIONS: ")
right=[];left=[];
for i in range(int(num_pro)):
l,r=raw_input("ENTER PRODUCTION"+str(i+1)+" : ").split('->')
right.append(r);left.append(l)
样本输入:E-> abc
答案 0 :(得分:2)
将元组附加到一个列表,然后使用zip()
拆分列表:
entries = []
for i in range(int(num_pro)):
entries.append(raw_input("ENTER PRODUCTION"+str(i+1)+" : ").split('->'))
left, right = zip(*entries)
zip(*iterable)
转置嵌套列表;列成为行。因为您有两个“列”(值对),所以最终会改为两行。
答案 1 :(得分:0)
并非没有使它变得更复杂。每个方法都需要单独调用,唯一的方法是显式地,像你一样,或者循环。
如果你愿意存储整个产品(这不是一个坏主意,因为它保持双方同步),那么只需添加拆分结果。
productions = []
for ...
productions.append(....split('->'))