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