第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

沒有 .sorted 的第二大整數(shù)

沒有 .sorted 的第二大整數(shù)

溫溫醬 2021-08-14 16:44:10
def second_largest(numbers):    first = 0    second = 0    for n in numbers:        if n > first:            first, second = n, first        elif first > n > second:            second = n    return second or Noneprint(second_largest([2,2,2,-2]))當(dāng)我運(yùn)行此代碼時,輸出為None,但我需要它,-2而且我不能使用 .sorted 和其他函數(shù)作為數(shù)組。我認(rèn)為問題出在second = 0,但我不知道如何解決。
查看完整描述

3 回答

?
弒天下

TA貢獻(xiàn)1818條經(jīng)驗 獲得超8個贊

這是我看到的幾個問題。

  1. 您實(shí)例化firstsecond不正確(如果人數(shù)最多的是什么樣的負(fù)面)?

  2. 您唯一想要返回 None 的情況是您的列表大小小于 2。

  3. 將您的退貨條件更改為return second

def second_largest(numbers):

    if len(numbers) < 2:

        return None


    first, second = numbers[0], numbers[1]

    if first < second:

        first, second = second, first


    for n in numbers[2:]:

        if n > first:

            first, second = n, first

        elif n > second:

            second = n


    return second


查看完整回答
反對 回復(fù) 2021-08-14
?
蕪湖不蕪

TA貢獻(xiàn)1796條經(jīng)驗 獲得超7個贊

不確定這是否是您要查找的內(nèi)容,但您基本上可以從列表中取出最大的元素(或記下它),然后在剩下的元素中搜索第二大的元素。在這里,我首先使用max()(適用于任何可迭代對象的 Python 內(nèi)置函數(shù))來獲取列表的最大元素,然后使用列表理解來創(chuàng)建不等于最大元素的第二個元素列表元素,最后max()再次使用從原始列表中獲取第二大元素。


def second_largest(numbers):

    first = max(numbers)

    second = max([i for i in numbers if i != first])

    return second

for如果max()出于某種原因不想使用,則可以為此使用循環(huán)。


查看完整回答
反對 回復(fù) 2021-08-14
?
胡子哥哥

TA貢獻(xiàn)1825條經(jīng)驗 獲得超6個贊

不使用sorted?


values = [2,2,2,-2]

values.sort(reverse=True)   # technically correct

second_largest = values[1]

或者,不那么滑稽


values = set([2,2,2,-2])

values.remove(max(values))

second_largest = max(values)

甚至


import heapq

heapq.nlargest(2, [2,2,2,-2])


查看完整回答
反對 回復(fù) 2021-08-14
  • 3 回答
  • 0 關(guān)注
  • 263 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號