Problem when working with list of string

Hello.
I have 2 problem :
1, I have 2 string list:

A=[Magaret, John, Jake, Olivia, Charles, Ann ]
B=[250, 332, 0, 122, 0, 0]

I want to combine 2 lists together to a result like this:

C=[Magaret=250, John=332, Jake=0, Olivia=122, Charles=0, Ann=0] (*)

In OB1, I combined using FUNCTION Constant "<A[*]> = <B[*]>", but when I moved to OB2, I can’t do like that anymore. So is there any way I can do that in OB2? And when I have result string(*), how can I remove zero element to have result like this string

D=[Magaret=250, John=332, Olivia=122]

2, I have 2 strings:

E=[100, 50, 5, 5.1, 5.2]
F=[a, b, c, d, e]

I want to delete 2 element at first of two strings, and arrange like this

E=[e, d, c]
F=[5.2, 5.1, 5]

Can anyone show me how to do that?
Thanks a lot.

For number one you can use the zip block

BLOCK:ConstantList
LABEL:Names
  value = ["Magaret", "John", "Jake", "Olivia", "Charles", "Ann"]
  => VAR @names
ENDBLOCK

BLOCK:ConstantList
LABEL:Values
  value = ["250", "332", "0", "122", "0", "0"]
  => VAR @values
ENDBLOCK

BLOCK:ZipLists
  list1 = @names
  list2 = @values
  format = "[0]=[1]"
  => VAR @zipped
ENDBLOCK

BLOCK:RemoveAllFromList
  list = @zipped
  comparison = Contains
  term = "=0"
ENDBLOCK

The second one is more complex to do and you definitely need some C#. Removing the items is not hard, but rearranging two lists basing on the order of numbers in one of them definitely requires some loops that I do not have time to write

Thanks a lot Ruri <3