擅长:python、mysql、java
<p>如果<code>h</code>是一个列表<code>[709.0, 651.0]</code>,那么<code>str(h)</code>会给你<code>"[709.0, 651.0]"</code>,<code>';'.join(str(h))</code>,正如你所看到的,会迭代字符串中的字符,而不是列表中的值。你知道吗</p>
<p>相反,试试<code>';'.join(map(str, h))</code>。这会将列表中的每个项分别转换为字符串(无论是<code>'-'</code>还是<code>float</code>),然后<code>join</code>是字符串的结果iterable/list(取决于Python版本)。你知道吗</p>
<p>示例:</p>
<pre><code>>>> print(";".join(map(str, ["-", 123.4, 567.8, "-", "-", 9.0])))
-;123.4;567.8;-;-;9.0
</code></pre>