Render a field in node_preprocess
What about leaving the rendering of fields by Drupal and putting your list directly in the template?

Depending the condition about your node rendering, can be based on 1 particular node, or by content type, ... you can use a separate tpl file. For example, if its for a content type gallery, you can create a node--gallery.tpl.php in the templates folder of your activated theme.

Inside the tpl, you can create an HTML structure like this:

&lt;!-- content node part --&gt;
&lt;div class="content"&lt;?php print $content_attributes; ?&gt;&gt;
    &lt;ul&gt;
        &lt;li&gt;&lt;?php print render($content['field_cover']); ?&gt;&lt;/li&gt;
        &lt;li&gt;&lt;?php print render($content['field_gallery_0']); ?&gt;&lt;/li&gt;
        &lt;li&gt;&lt;?php print render($content['field_gallery_1']); ?&gt;&lt;/li&gt;
        &lt;li&gt;&lt;?php print render($content['video']); ?&gt;&lt;/li&gt;
    &lt;/&lt;ul&gt;
    &lt;ul&gt;
        &lt;li&gt;&lt;?php print render($content['body']); ?&gt;&lt;/li&gt;
        &lt;li&gt;&lt;?php print render($content['field_gallery_0_title']); ?&gt;&lt;/li&gt;
        &lt;li&gt;&lt;?php print render($content['field_gallery_1_title']); ?&gt;&lt;/li&gt;
        &lt;li&gt;&lt;?php print render($content['video_desc']); ?&gt;&lt;/li&gt;
    &lt;/&lt;ul&gt;

    &lt;!-- remaining unrendered fields --&gt;
    &lt;?php print render($content); ?&gt;
&lt;/div&gt;