當前位置:首頁 » 編程語言 » pythonlist最大值位置

pythonlist最大值位置

發布時間: 2023-06-14 00:57:08

python如何列表去重取最大值

list=[('小王','第一次考試','5'),('小陳','第二次考試','7'),('小陳','第一次考試','1'),('小王','第六次考試','20')]

dic={}

list1=[]


forpersoninlist:

ifperson[0]notindic.keys():

dic[person[0]]=person

elifint(dic[person[0]][2])<int(person[2]):

dic[person[0]]=person

forvalueindic.values():

list1.append(value)

print(list1)

*.你看到的代碼應該是沒有縮進了,你可以右鍵>檢查,從相應的源碼中能看到相關的縮進

---------

稍等我給你寫下思路:

總體的思路就是動態的改變字典dic,字典中的鍵是tuple的第1個元素,即人名,相應的鍵值就是整個tuple,如dic={'小王':('小王','第一次考試','5')};而a.這個字典中的鍵值對是不斷增加的,b.鍵值是不斷改變的.這里的a,b兩點要怎麼理解呢?


先說a.這個字典中的鍵值對是不斷增加的?

比如說我一開始的字典是空的,然後我遍歷字典的時候,我會拿每次取到的列表中的元素(即元素)的第1個元素作為鍵,去dic中找,看看當前dic中是否有這個鍵,如果沒有,則我會在dic中新增一個鍵值對,這個鍵值對的鍵即tuple的第1個元素,相應的鍵值為整個tuple,舉例:

當前dic為{'小王':('小王','第一次考試','5')},假如我遍歷到list中的第2個元素,即('小陳','第二次考試','7'),我會取這個tuple的第1個元素,即'小陳',看看dic字典的鍵中是否有'小陳',結果一看dic中只有一個鍵'小王',沒有'小陳',則我會在dic中新增一個鍵值對,最後得到新的dic:{'小王':('小王','第一次考試','5'),'小陳':('小陳','第二次考試','7')}.

再一看b點:鍵值是不斷變化的:

接上面說,此時字典dic的值為{'小王':('小王','第一次考試','5'),'小陳':('小陳','第二次考試','7')},然後列表我遍歷到了第3個元素,即('小陳','第一次考試','1')。此時前面的處理邏輯還是一樣的,取tuple中的第1個元素去dic的鍵中找,看看是否存在,一找存在,字典dic中有'小陳'這個鍵了,則繼續第2步,用dic中'小陳'鍵值tuple中的第3個元素和當前從列表中取的第1個元素為'小陳'的tuple的第3個元素相比較,如果字典中的那個大,則字典中'小陳'的鍵值不變,如果從列表中拿到的這個tuple中第3個值大,則將字典中'小陳'的鍵值整個替換為從列表中取的這個當前tuple.

最終我們得到了一個鍵唯一,且相應鍵值為首個元素相同tuples中第3個值最大的這么一個字典。

因為你要求最終得到的類型是字典,所以接下來就是如果將這個字典dic轉化為你要的字典,dic.alues()得到的是dic中所有值的這么一個迭代器,然後使用for循環遍歷這個迭代器,把每次迭代器中取的值都追加到列表list1中。

最終列印的list1,符合題目要求

㈡ 用Python 求十個整數中的最大值,並將最大值位置調整到列表末尾

l = []

for i in range(10):

l.append(int(input('請輸入第{}個整數:巧鄭'.format(i+1))))

l.append(max(l))

l.pop(l.index(max(l)))

print('最大輪寬春的數是{}'臘耐.format(max(l)))

print(l)

㈢ python求二維數組中最大值的位置

使用numpy的max函數,該函數也是適用於其他維度的數組。

例子如下:

>>> a = np.arange(4).reshape((2,2))
>>> a
array([[0, 1],
[2, 3]])
>>> np.amax(a) # 整個數組的最大值
3
>>> np.amax(a, axis=0) # 沿第一個軸的最大值
array([2, 3])
>>> np.amax(a, axis=1) # 沿第二個軸的最大值
array([1, 3])

㈣ python找數組中的最大值

enumerate()函數用於將一個可遍歷的數據對象(如列表、元組或字元串)組合為一個索引序列,同時列出數據和數據下標。
x = [3, 2.2, 7.4, 6, 4]
list(enumerate(x))
# 輸出 [(0, 3), (1, 2.2), (2, 7.4), (3, 6), (4, 4)]
operator.itemgetter()函數用於獲取對象的哪些維的數據,參數為想要取的一些維度序號。
x = [3, 2.2, 7.4, 6, 4]
b1 = operator.itemgetter(2, 1)
b1(x) # 輸出 (7.4, 2.2)

b2 = operator.itemgetter(3)
b2(x) # 輸出 6
max()函數有一個應用很巧妙的參數key,在這里定義為operator.itemgetter(1),表示對enumerate(x)每個元素的第一維做比較(從0維開始),然後返回第一維值最大的元素,即包含索引和數值。
key參數還有其他的巧妙應用:
# 獲取數組中絕對值最大的數
x = [3, 2.2, -7.4, 6, 4]
max(x, key=abs) # 返回 -7.4

# lambda表達式形式
x = [3, 2.2, -7.4, 6, 4]
max(x, key=lambda x: abs(x)) # 返回 -7.

㈤ python如何求列表最大值

Python 的內置函數具有查找極值的功能。Max () find the maximum: max () find the minimum: min () find the sum: sum ()他們的第一個參數是可遍歷的對象,這意味著它們可以是字元串、元組或列表

㈥ python怎樣用最簡單的for loop求list中的最大值

one_long_list=[13,34,3,343,343,3434324]
biggestnum=one_long_list[0]
for悶叢iinone_long_list[1:]:
if(biggestnum<i):
螞伍櫻biggestnum=i
print("biggest橘好number:",biggestnum)

㈦ python怎麼知道列表中最大的元素是第幾個

  1. l = [1,2,3]

    maxnum = max(l)

    print(l.index(maxnum))

    index函數只會返回列表裡第一個匹配的值,如果最大值在列表裡有多個,則無法全部查詢到

  2. 一個冒泡排序的思路,逐一對比,並記住當前最大值的下標,可以得到最大值的多個下標

l = [1,2,3,0,3]

indeiesDict = {}

maxnum = 0

for i in range(len(l)):

if i > 0 :

if l[i] >= l[i-1]:

maxnum = l[i]

index = i

else:

maxnum = l[i-1]

index = i-1

if indeiesDict.get(maxnum):

indeiesDict[maxnum].add(index)

else:

indeiesDict[maxnum] = set([index])

print(maxnum,indeiesDict[maxnum])

㈧ python中list的大小最大是多少

一般應用場景都不用考慮這個大小,因為這個上限很高,需要用到這么多元素的list的時候,都需要考慮很多其它問題。

1,32位python的限制是 536870912 個元素。

2,64位python的限制是 1152921504606846975 個元素。

熱點內容
微信怎麼上傳頭像不了 發布:2025-02-13 02:57:04 瀏覽:118
c語言矩陣的轉置 發布:2025-02-13 02:38:43 瀏覽:624
rowphp 發布:2025-02-13 02:37:16 瀏覽:711
光遇安卓服周年傘在哪裡領取 發布:2025-02-13 02:22:18 瀏覽:674
寫mv腳本軟體 發布:2025-02-13 02:21:56 瀏覽:696
超內核源碼 發布:2025-02-13 02:12:54 瀏覽:444
趣粉腳本 發布:2025-02-13 02:11:23 瀏覽:952
壓縮的茶葉怎麼弄開 發布:2025-02-13 02:11:16 瀏覽:739
n1ftp伺服器 發布:2025-02-13 02:10:39 瀏覽:348
沒有卡沒有密碼怎麼辦啊 發布:2025-02-13 01:51:53 瀏覽:461