关于tensorflow里的FIFOQueue的enqueue_many方法的疑问

q = tf.FIFOQueue(3, "float")
init = q.enqueue_many(([0, 1, 2],))

如上是官网的例子,既然长度是3,为什么入参要设计成元组里边嵌套数组呢 ?
为啥不是直接enqueue_many([0, 1, 2])这样多简洁 ?

q = tf.FIFOQueue(6, "float")
init = q.enqueue_many(([0, 1, 2], [3, 4, 5]))
with tf.Session() as sess:
    init.run(session=sess)
    for i in range(6):
        print(sess.run(q.dequeue()))

又试了一下这种情况,发现只能取出0,1,2这3个元素, 后三个竟然取不出来,彻底懵逼了,请大牛帮忙解答下疑惑

这个是其他人回答的

tensorflow enqueue_many传入多个值的列表传入异常问题————Shape () must have rank at least 1
tf 的队列操作enqueue_many传入的值是列表,但是放入[]列表抛异常

File "C:\Users\lihongjie\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\ops\data_flow_ops.py", line 377, in enqueue_many
batch_dim = vals[0].get_shape().with_rank_at_least(1)[0]
File "C:\Users\lihongjie\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\framework\tensor_shape.py", line 765, in with_rank_at_least
raise ValueError("Shape %s must have rank at least %d" % (self, rank))
ValueError: Shape () must have rank at least 1

这是由于对于tf来说接收的一切值都是tensor张量,但是这里要想让enqueue_many知道传入的是列表可以设置 eqs = q.enqueue_many([[1.1,1.2,1.3],])

列表中多加一个逗号,后面不要加值,加了就不符合传入值;这样既是列表,又满足tf接收的是tensor张量的需求