1. 程式人生 > >在字典中將鍵對映到多個值上——一鍵多值字典(defaultdict類)

在字典中將鍵對映到多個值上——一鍵多值字典(defaultdict類)

1、希望保留元素插入的順序,就用列表;list
2、希望消除重複元素(且不在意他們的順序),就用集合。set
為了能方便建立這樣的字典,可以利用collection模組中的defaultdict類。defaultdict的特點就是它會自動初始化第一個值,這樣只需關注新增的元素。
from collections import defaultdict
d=defaultdict(list)
d['a'].append(1)
d['a'].append(2)
d['b'].append(4)
print(d)

結果:defaultdict(<class 'list'>, {'a': [1, 2], 'b': [4]})

from collections import defaultdict
d=defaultdict(set)
d['a'].add(1)
d['a'].add(2)
d['a'].add(2)
d['b'].add(5)
print(d)

結果:defaultdict(<class 'set'>, {'b': {5}, 'a': {1, 2}})
對第一個值做初始化操作:
d=defaultdict(list)
for key ,value in pairs:
    d[key].append(value)


相關推薦

字典中將對映——字典defaultdict

1、希望保留元素插入的順序,就用列表;list2、希望消除重複元素(且不在意他們的順序),就用集合。set為了能方便建立這樣的字典,可以利用collection模組中的defaultdict類。defa

AJAX+Servlet3.0實現非同步檔案單個檔案、檔案傳、帶檔案的表單提交

   一、上傳單個檔案           1.JSP頁面程式碼       <%@ page language="java" contentType="text/html;

跨域獲取cookie,網站實現登入

<script type="text/javascript" src="jquery-1.6.1.min.js"></script> <script type="text/javascript" src="jquery.cookie.js"></script>

用原生JS實現張圖片傳及預覽功能相容IE8

最近需要做一個圖片上傳預覽的功能(相容IE8-11、chrome、firefox等瀏覽器),網上現有的檔案上傳元件(如webuploader)總是會遇到一些相容性問題。於是我參考了一些博文(連結找不到了⊙o⊙…),自己用原生JS寫了一個支援多張圖片上傳預覽功能的Demo 先通過最終效果看一下功能:

資料庫表相同欄位的統一更新儲存過程

開發中遇到多個表要設定區域REGIONCODE這個欄位的更新,所以寫了這個儲存過程統一處理CREATE PROCEDURE [dbo].[Sp_RegionCode_SD_value] AS DECLARE @tableName VARCHAR(100)

HTML5 單個或者Video標籤視訊載入第一幀方法poster屬性

最近在做這個前端視訊載入第一幀的功能,查了很多資料基本上有兩種思路: 一、canvas畫圖取base64格式編碼設定poster屬性的方法; 二、給定圖片設定在視訊上方,點選圖片隱藏起來,視訊追加播放事件。 我就在此提供方法一所需要的程式碼,也是自己用到的

KindEditor獲取textarea文本框的並判斷非空

div 編輯器 fill star fontsize 取值 pop 獲取 sta kindeditor官網:http://kindeditor.net/demo.php 如何獲取多個KindEditor中textarea文本框的值,方式很多種(帶有HTML標簽)。

高級查詢一起取傳向後端

false nth log ext 服務器端 下拉 onf can pro 註意:每個模糊查詢都有一個單獨的方法---》只針對下拉框   java顯示searchData方法(獲取頁面所有的值) /** * 查詢list */ @RequestMapping(value

appium+python自動化60-windows同時啟動appium服務,讓android機器並行運行

pre tps yam rom 啟動app 技術分享 AI 如果 aapt 前言 做android自動化的時候,啟動一個appium服務,只能匹配一個手機去自動化執行。有時候想同一套代碼,可以在不同的手機上執行,測下app在不同手機上兼容性。 這就需要啟動多個appium服

微信小程式傳(檔案傳)

微信小程式上傳(多個檔案上傳) /** * 上傳照片//選擇圖片時限制9張,如需超過9張,同理亦可參照此方法上傳多張照片 */ uploadImg:function(){ var that = this; wx.chooseImage({ count

Struts的檔案

public class UploadsAction extends BaseAction{ private File[] file; private String[] fileFileName; private String[] fileContentType; p

Struts2單個檔案和檔案

<一>簡述: Struts2的檔案上傳其實也是通過攔截器來實現的,只是該攔截器定義為預設攔截器了,所以不用自己去手工配置,<interceptor name=”fileUpload” class=”org.apache.struts2.interceptor.

疊加裝飾器,列表生成式,字典生成式,匿名函式

一. 疊加多個裝飾器   1. 載入順序: (outter 函式的呼叫順序): 自下而上   2. 執行順序: (wrapper函式的呼叫順序): 自上而下 def outter1(func1): func1= wrapper 2 的記憶體地址 print(' 載入了outter1')

mybatis 實現批量更新 更新條記錄為欄位為不同的

更新多條記錄為多個欄位為不同的值 比較普通的寫法,是通過迴圈,依次執行update語句。 Mybatis寫法如下: <update id="updateBatch" parameterType="java.util.List"> <foreach coll

如何處理相容性及在裝置進行除錯

桌面端瀏覽器除錯方法 通常只需要在Google、Firefox、Opera、Safari、IE五大主流瀏覽器進行測試。 移動端瀏覽器除錯方法 移動端瀏覽器除錯的最好方法是真機測試,因為很多手機生產廠家會根據原生的安卓系統開發自己的作業系統,在沒有真機測試的情況下會出現很多意想不到的相容性

關於python同時給變數從鍵盤輸入賦

這裡以一道題為例,輸入三角形的三邊長來判斷是怎樣的三角形。 由於老師要求使用input()函式,所以這裡說一下python的input()函式,當要給多個變數賦值時通常格式為a,b,c=map(int,input().split()),後面的這個split()函式是用於分割

頁面圖片傳,可刪除程式碼

頁面程式碼: 上傳圖片

Ajaxfileuploadinput傳圖片

頁面 html <label class="layui-icon">&#xe63c; <input type="file" class="fileicon" value="" title="支援jpg、jpeg、gif、png格式,檔

利用 apache2 在伺服器部署專案實踐

一、背景 應專案需求,要在兩個遠端伺服器上利用 apache2 部署多個專案(前後端分離): Server (Nodejs/Koa2) Android APP、Apple APP (ionic3) 現將部署過程及遇到的問題記錄下來。 二、伺服器配置說明

spring boot圖片

package com.example.demo.controller; import org.apache.commons.io.FileUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.spri