In [3]:
nfa_transitions = {}
with open("n.nfa") as f:
    lines = f.read().splitlines()
alphabet = lines[0].split()[1:]
states = lines[1].split()[1:]
for state in states:
    nfa_transitions[state] = {}
    for symbol in alphabet:
        nfa_transitions[state][symbol] = set()
for state in nfa_transitions:
    print(state,nfa_transitions[state])
q0 {'a': set(), 'b': set()}
q1 {'a': set(), 'b': set()}
q2 {'a': set(), 'b': set()}
q3 {'a': set(), 'b': set()}
q4 {'a': set(), 'b': set()}
In [4]:
start_state = lines[2].split()[1]
final_states = lines[3].split()[1:]
for line in lines[4:]:
    src, sym, dest = line.split()[1].split(":")
    nfa_transitions[src][sym].add(dest)

for state in nfa_transitions:
    print(state,nfa_transitions[state])
q0 {'a': {'q1', 'q4'}, 'b': {'q3'}}
q1 {'a': {'q1'}, 'b': {'q2'}}
q2 {'a': set(), 'b': set()}
q3 {'a': set(), 'b': set()}
q4 {'a': set(), 'b': {'q4'}}
In [12]:
xs = set([17,2,35])
ys = list(xs)
print(ys)
[17, 2, 35]
In [11]:
result = []
for x in xs:
    result.append(x)
print(result[1])
2