最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在Python中如何讓字典保持有序

 更新時間:2022年04月29日 11:19:47   作者:AllardZhao  
這篇文章主要介紹了在Python中如何讓字典保持有序,文章基于python的相關(guān)資料展開詳細內(nèi)容,需要的小伙伴可以參考一下

1、如何讓字典保持有序

實際案例:

某編程競賽系統(tǒng),對參賽選手編程解題進行計時,選手完成題目后,把該選手解題用時記錄到字典中,以便賽后按選手名查詢成績。(答題用時越短,成績越優(yōu)秀。)

如:LiLei第2名用時43分鐘,HanMeimei第5名用時52分鐘,Jim第1名用時39分鐘

{'LiLei': (2, 43), 'HanMeimei': (5, 52), 'Jim': (1, 39), ...}

比賽結(jié)束后,需要按排名順序依次打印選手成績,如何實現(xiàn)?

注:為什么不用列表而用字典?就是為了方便賽后可以按名字查詢成績。

Python V3.6版本之前字典無序,3.6版本之后字典開始有序。

 解決方案:

  • 使用collections.OrderedDict(有序字典)
  • OrderedDict代替內(nèi)置字典Dict,依次將選手成績存入OrderDict

2、代碼演示

(1)OrderedDict有序字典簡單使用

d = dict()
print(d)
d['Jim'] = (1, 35)
d['Leo'] = (2, 37)
d['Bob'] = (3, 40)
print(d)
?
# 希望迭代字典時候,按每項先后進入順序打印
for k in d:
? ? print(k)
?
# 導入有序字典
from collections import OrderedDict
?
d2 = OrderedDict()
d['Jim'] = (1, 35)
d['Leo'] = (2, 37)
d['Bob'] = (3, 40)
for k in d:
? ? print(k)

(2)模擬編寫競賽答題

# 編程模擬選手
players = list('ABCDEF')
# 模擬選手的答題時間
from time import time
from random import randint
from collections import OrderedDict
?
d = OrderedDict()
start = time()
for i in range(6):
? ? # 等待用戶輸入,作為阻斷進程
? ? input()
? ? # 每次隨機選擇一名選手答題完畢
? ? p = players.pop(randint(0, 5 - i))
? ? end = time()
? ? print(i + 1, p, end - start)
? ? # 記錄成績
? ? d[p] = (i + 1, end - start)
?
print()
print('-' * 20)
# 按先后進入字典順序,打印成績單
for k in d:
? ? print(k, d[k])

到此這篇關(guān)于在Python中如何讓字典保持有序的文章就介紹到這了,更多相關(guān)Python字典有序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python 實現(xiàn)Serial 與STM32J進行串口通訊

    Python 實現(xiàn)Serial 與STM32J進行串口通訊

    今天小編就為大家分享一篇Python 實現(xiàn)Serial 與STM32J進行串口通訊,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 如何查看Python安裝了哪些包

    如何查看Python安裝了哪些包

    這篇文章主要給大家介紹了關(guān)于如何查看Python安裝了哪些包的相關(guān)資料, Conda是另一種廣泛使用的Python包管理工具,它用于安裝、管理和升級軟件包和其依賴項,需要的朋友可以參考下
    2023-07-07
  • 在PyCharm中打包Python項目并將其運行到服務(wù)器上的方法(推薦)

    在PyCharm中打包Python項目并將其運行到服務(wù)器上的方法(推薦)

    在PyCharm中打包Python項目并運行到服務(wù)器上,主要步驟包括:創(chuàng)建并設(shè)置項目、編寫項目代碼、打包項目、配置服務(wù)器環(huán)境、上傳可執(zhí)行文件到服務(wù)器以及運行項目,通過這些步驟,可以將Python項目打包并部署到服務(wù)器上
    2024-11-11
  • Python實現(xiàn)蒙特卡洛算法小實驗過程詳解

    Python實現(xiàn)蒙特卡洛算法小實驗過程詳解

    這篇文章主要介紹了Python實現(xiàn)基于蒙特卡洛算法過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • Django使用Mysql數(shù)據(jù)庫已經(jīng)存在的數(shù)據(jù)表方法

    Django使用Mysql數(shù)據(jù)庫已經(jīng)存在的數(shù)據(jù)表方法

    今天小編就為大家分享一篇Django使用Mysql數(shù)據(jù)庫已經(jīng)存在的數(shù)據(jù)表方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 提升Python程序性能的7個習慣

    提升Python程序性能的7個習慣

    這篇文章主要介紹了提升Python程序性能的7個習慣,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • Python連接數(shù)據(jù)庫并批量插入包含日期記錄的操作

    Python連接數(shù)據(jù)庫并批量插入包含日期記錄的操作

    這篇文章主要介紹了Python連接數(shù)據(jù)庫并批量插入包含日期記錄的操作,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-06-06
  • 使用Python批量修改文件名的代碼實例

    使用Python批量修改文件名的代碼實例

    今天小編就為大家分享一篇關(guān)于使用Python批量修改文件名的代碼實例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • python怎么對數(shù)字進行過濾

    python怎么對數(shù)字進行過濾

    在本篇內(nèi)容中小編給大家整理的是關(guān)于python怎么對數(shù)字進行過濾的實例方法內(nèi)容,需要的朋友們可以參考下。
    2020-07-07
  • python跳出雙層循環(huán)的方法

    python跳出雙層循環(huán)的方法

    本文主要介紹了python跳出雙層循環(huán)的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01

最新評論

北辰区| 灵寿县| 萍乡市| 黄平县| 弥渡县| 平乐县| 阜康市| 安阳市| 南岸区| 安义县| 梧州市| 始兴县| 建水县| 民和| 通榆县| 惠来县| 安平县| 虹口区| 南丰县| 岑溪市| 无棣县| 张家港市| 隆子县| 浪卡子县| 新营市| 财经| 连州市| 漳州市| 涞水县| 南丹县| 武夷山市| 尼玛县| 玛沁县| 孟州市| SHOW| 柞水县| 荣成市| 班玛县| 女性| 固阳县| 繁昌县|