title: zip like function in Tensorflow? Tensorflow tensor operation
body: <p>My question is about the tensor operation in Tensorflow. 
  Let's say:</p>
  
  <pre><code>import tensorflow as tf
  import numpy as np
  
  a = tf.Variable(np.random.random([10, 3, 3]))
  b = tf.Variable(np.random.random([10, 3, 3]))
  
  def some_function(m,n):
      # just as an example
      return tf.add(m, n)
  </code></pre>
  
  <p>This works in Tensorflow but it requires to know the dimension in advanced. However, it is very likely that the first dimension of the Tensor is None.</p>
  
  <pre><code>c = []
  for i in range(10):
      c.append(some_function(a[i], b[i]))
  c = tf.stack(c)
  </code></pre>
  
  <p>So I wonder if there is a zip-like function in Tensorflow? Then we can do:</p>
  
  <pre><code># TypeError: zip argument #1 must support iteration
  c = []
  for i, j in zip(a,b):
      c.append(some_function(i,j))
  c = tf.stack(c)
  </code></pre>
  
  <p>Maybe we can use some function like tf.map_fn or tf.scan? But I am not sure. Really thank you, guys.</p>