擅长:python、mysql、java
<p>所以,看看这个问题和你的解决方案,它看起来可以缩短很多。
以下是我的解决方案:</p>
<pre class="lang-py prettyprint-override"><code>n = int(input())
l = []
for i in range(n):
s = input().split(" ")
ls = s[0]
num = s[1:]
if ls != "print":
ls += "("+ ",".join(num) +")"
eval("l."+ls)
else:
print(l)
</code></pre>
<p>另外,我不使用HackerRank,所以我不知道它是否能在所有条件下运行,但它在基本情况下确实能运行</p>
<p>说明:</p>
<p><strong>.join()</strong>用一个左括号“(”)连接ls,用逗号连接参数,然后连接一个右括号</p>
<p><strong>eval</strong>解析传递给此方法的表达式并运行它。这里,它获取列表<code>l</code>,并添加需要执行的函数。
例如:</p>
<p>附加6:
<code>eval("l." + ls)</code>将使这个<code>eval("l." + "append")</code>,因为在这种情况下<code>ls</code>是附加的,并且<code>eval</code>的最终输出是执行其各自计算的<code>l.append</code></p>