嘿:)我是python的新手,我想知道如何从返回输出中删除方括号。我收到错误哎呀,再试一次。中位数([1])返回 [1] 而不是1.如何删除这些方括号?其余代码是正常还是需要更改? 这是我的代码:
<form action="/a/custmeta" method="POST" id="custmeta">
<input type="text" name="customer[id]" value="{{ customer.id }}" />
<input type="text" name="customer[first_name]" value="{{ customer.first_name }}" placeholder="namespace1.key1" />
<input type="text" name="customer[last_name]" value="{{ customer.last_name }}" placeholder="namespace2.key2" />
<input type="submit" />
</form>
<script>
$('form#custmeta').submit(function(e) {
e.preventDefault();
$.ajax({
type: "POST",
dataType: "json",
data: $(this).serialize(),
url: '/admin/customers/#{{ customer.id }}.json',
success: function (data) {
var formValid = (data.status === 'OK');
if (formValid) {
var msgs = '';
for (var i=0;i<data.messages.length;i++) {
msgs += '-- ' + data.messages[i] + '\n';
}
if (msgs > '') {
alert('SUCCESS WITH MESSAGES:\n\n' + msgs);
}
else {
alert('SUCCESS!');
}
}
else {
alert('Status: ' + data.status + '\nMessage: ' + data.message);
}
},
error: function (jqXHR, textStatus, errorThrown) {
alert('AJAX or Server 500 error occurred');
}
});
return false;
});
</script>
答案 0 :(得分:0)
删除此行:
return newlist
返回列表副本,然后不执行其余功能。
修改强>
当前代码的一个大问题是,当数组为偶数长度时,您选择了错误的索引。 (对于长度为4的数组,当你应该对元素1和2进行平均时,你将平均元素2和3。)
其他一些小建议:
sorted(...)
获取列表的已排序副本。//
进行整数除法,以便您的代码可以正常使用Python 3(以及Python 2)。更新的代码:
def median(lst):
new_list = sorted(lst)
if len(new_list) % 2 == 1:
return float(new_list[len(new_list) // 2])
else:
return (new_list[len(new_list) // 2 - 1] +
new_list[len(new_list) // 2]) / 2.0