Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熟能生巧_Python_Python 2.7 - Fatal编程技术网

Python 熟能生巧

Python 熟能生巧,python,python-2.7,Python,Python 2.7,嘿:)我是python的新手,我想知道如何从返回输出中删除方括号。我收到一个错误,请重试。中位数([1])返回的是[1],而不是1。如何删除这些方括号?代码的其余部分正常还是需要更改? 这是我的代码: def median(List): newlist = [] for num in List: newlist.append(num) return newlist newlist.sort() if len(newlist) % 2 ==

嘿:)我是python的新手,我想知道如何从返回输出中删除方括号。我收到一个错误,请重试。中位数([1])返回的是[1],而不是1。如何删除这些方括号?代码的其余部分正常还是需要更改? 这是我的代码:

def median(List):
    newlist = []
    for num in List:
        newlist.append(num)
    return newlist
    newlist.sort()

    if len(newlist) % 2 == 1:
        return float(newlist[len(newlist) / 2])
    else:
        return float((newlist[len(newlist) / 2] + newlist[len(newlist) / 2 + 1])) / 2.0 
删除此行:

return newlist
这意味着返回列表的副本,然后不执行函数的其余部分

编辑

当前代码的一个大问题是,当数组长度为偶数时,您选择了错误的索引。(对于长度为4的数组,您将平均元素2和3,而您应该平均元素1和2。)

还有几个小建议:

  • 使用
    排序(…)
    获取列表的排序副本
  • 使用
    /
    进行整数除法,这样您的代码就可以在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
    
    删除此行:

    return newlist
    
    这意味着返回列表的副本,然后不执行函数的其余部分

    编辑

    当前代码的一个大问题是,当数组长度为偶数时,您选择了错误的索引。(对于长度为4的数组,您将平均元素2和3,而您应该平均元素1和2。)

    还有几个小建议:

  • 使用
    排序(…)
    获取列表的排序副本
  • 使用
    /
    进行整数除法,这样您的代码就可以在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
    

    感谢您快速准确的回复!关于您的答案的这一部分,还有一个问题:“(对于长度为4的数组,您计算的是元素2和3的平均值,而您应该计算元素1和2的平均值)。”。我应该平均元素1和2,因为列表中的索引和字符串中的索引完全相同,对吗?如果我有这样的东西:lst=[2,4,7,10],我的意思是我列表中的第一个整数有索引0,对吗?实际上,关于你的建议还有一点,为什么使用“蛇壳”如此重要?别误会,我只是好奇;)确切地说,数组索引从0开始。Snake-case只是Python社区的样式约定。使用它将使其他Python开发人员更容易阅读您的代码。好的,谢谢您的回答:)哪门Python课程,您建议我在完成课程后开始学习?@Konradek抱歉,不知道。。。从我第一次学习到现在已经有很长时间了。:-)感谢您快速准确的回复!关于您的答案的这一部分,还有一个问题:“(对于长度为4的数组,您计算的是元素2和3的平均值,而您应该计算元素1和2的平均值)。”。我应该平均元素1和2,因为列表中的索引和字符串中的索引完全相同,对吗?如果我有这样的东西:lst=[2,4,7,10],我的意思是我列表中的第一个整数有索引0,对吗?实际上,关于你的建议还有一点,为什么使用“蛇壳”如此重要?别误会,我只是好奇;)确切地说,数组索引从0开始。Snake-case只是Python社区的样式约定。使用它将使其他Python开发人员更容易阅读您的代码。好的,谢谢您的回答:)哪门Python课程,您建议我在完成课程后开始学习?@Konradek抱歉,不知道。。。从我第一次学习到现在已经有很长时间了。:-)