构造字典

有一个列表values=[1,3,5,7,9,12,56,98,23,77,67,87,99,4,3,43,54,23],请构造一个字典,当值小于50时key为small,当值大于等于50时key为big。

方法一:

dic = {}   #定义一个空的字典values=[1,3,5,7,9,12,56,98,23,77,67,87,99,4,3,43,54,23]for i in values:       #对字典进行遍历    if i < 50 :        if ‘small‘ in dic.keys():       #判断small这个key是否在字典中            dic[‘small‘].append(i)              else:            dic[‘small‘]=[i]                else:        if ‘big‘ in dic.keys():            dic[‘big‘].append(i)        else:            dic[‘big‘]=[i]print("The new dictionary is %s" % dic)

The new dictionary is {‘small‘: [1, 3, 5, 7, 9, 12, 23, 4, 3, 43, 23], ‘big‘: [56, 98, 77, 67, 87, 99, 54]}

方法二:

import collectionsdic = collections.defaultdict(list)   #定义一个字典,默认是列表values=[1,3,5,7,9,12,56,98,23,77,67,87,99,4,3,43,54,23]for i in values:    if i < 50:        dic[‘small‘].append(i)    else:        dic[‘big‘].append(i)print("The new dictionary is %s" % dic)

The new dictionary is defaultdict(<class ‘list‘>, {‘small‘: [1, 3, 5, 7, 9, 12, 23, 4, 3, 43, 23], ‘big‘: [56, 98, 77, 67, 87, 99, 54]})

以上两种方法仅供参考,有需要的朋友可以看一下,共同探讨共同进步。

QQ:1127000483

时间: 2024-08-11 03:31:51

构造字典的相关文章

【python】构造字典类型字典

字典类型字典:就是包含字典类型的字典,如{'sss': {'ss': 'dddsdsdsd'}} 构造方式: a={} b="sss" a[b]={} a[b]['ss'] = "dddsdsdsd" print a >>>{'sss': {'ss': 'dddsdsdsd'}} 应用: import sys,os,re oui_dict={} ###构造字典 tmp_fp = open("C:\\Users\\Administrator

IEEE Trans 2006 使用K-SVD构造超完备字典以进行稀疏表示(稀疏分解)

K-SVD可以看做K-means的一种泛化形式,K-means算法总每个信号量只能用一个原子来近似表示,而K-SVD中每个信号是用多个原子的线性组合来表示的. K-SVD算法总体来说可以分成两步,首先给定一个初始字典,对信号进行稀疏表示,得到系数矩阵.第二步根据得到的系数矩阵和观测向量来不断更新字典. 设D∈R n×K,包含了K个信号原子列向量的原型{dj}j=1K,y∈R n的信号可以表示成为这些原子的稀疏线性结合.也就是说y=Dx,其中x∈RK表示信号y的稀疏系数.论文中采用的是2范数来计算

字典排序及应用

字典排序: 因为我们都知道字典是无序的,所以也没有想过字典怎么排序,直到--唉 废话不多说,先看按值.按键排序的方法吧. 有一个字典dic1 = {'tired': 1, 'car': 2, 'man': 2, 'of': 1, 'front': 1, 'who': 2, 'in': 1, 'run': 2, 'exhausted': 1, 'get': 2, 'behind': 1} 按值排序:dic2 = sorted(dic1.items(),key=lambda d:d[1],rever

Codeforces Round #311 (Div. 2) E. Ann and Half-Palindrome (DP+字典树)

题目地址:传送门 先用dp求出所有的符合要求的半回文串,标记出来.然后构造字典树.然后再dfs一遍求出所有节点的子树和,最后搜一遍就能找出第k个来了. 代码如下: #include <iostream> #include <string.h> #include <math.h> #include <queue> #include <algorithm> #include <stdlib.h> #include <map>

HDU 1251 统计难题(字典树)

Problem Description Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). Input 输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统计的单词,一个空行代表单词表的结束.第二部分是一连串的提问,每行一个提问,每个提问都是一个字符串. 注意:本题只有一组测试数据,处理到文件结束. Output 对于每个提

hdu1251 字典树的应用(查询公共前缀)

http://acm.hdu.edu.cn/showproblem.php?pid=1251 Problem Description Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). Input 输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统计的单词,一个空行代表单词表的结束.第二部分是一连串的提问,每行一个提问,每

简单的字典树(前缀树)

写这个树,主要是为了完成这道题目.http://hihocoder.com/problemset/problem/1014 代码如下,注释有比较详细的解释 1 #include <iostream> 2 #include <string> 3 #include <typeinfo> 4 #include <vector> 5 using namespace std; 6 7 /*****************************************

Python核心数据类型之字典15

一,字典 1. 字典在其它编程语言中又称为关联数组或散列表: 2. 特性: a. 通过键值实现元素存取: b. 无序集合: c. 可变类型容器: d. 长度可变: e. 支持异构: f. 支持嵌套: 3. 语法 a. d1 = {key1:value1, key2:value2, ...} : b. d1 = {}    //表示空字典: 例如: In [435]: d1 = {'x':32,'y':[1,2,3]}   In [440]: d1['y'][2:] Out[440]: [3]  

字典树 trie

字典树数据结构实现 1 public class Trie { 2 //字典树子节点最多值,任意一个单词都是由,26个字母组成的 3 private int SIZE = 26; 4 //根节点 5 private TrieNode root; 6 //初始化字典树 7 public Trie() { 8 root = new TrieNode(); 9 } 10 11 //字典树节点 12 private class TrieNode{ 13 //存放子节点的数组 14 private Tri