精华内容
下载资源
问答
  • 初始化字典的第一反应是使用dict.fromkeys(),如果value值是int之类的简单值类型没什么问题,但用list初始化则不然。 场景是为dict初始化value值为空的list,可以分别对不同key值对应的value独立操作。 使用dict....

    初始化字典的第一反应是使用dict.fromkeys(),如果value值是int之类的简单值类型没什么问题,但用list初始化则不然。

    场景是为dict初始化value值为空的list,可以分别对不同key值对应的value独立操作。

    使用dict.fromkeys()初始化得到的字典改动一个value其他的value值也会跟随变化,这是因为后者每个key对应的value值都指向了同一个列表。也就是说,使用dict.fromkeys()初始化,只存在一个被共用的list。

    如上可见,用独立空列表快速初始化字典的正确姿势是使用collections.defaultdict()。

    展开全文
  • 1、已知字典值得情况下初始化字典 lst = [1,3,5,7,9] #存放字典的键 dic = {}.fromkeys(lst,0) #将字典中所有键的值初始化为0 2、打印初始化效果

    1、已知字典值得情况下初始化字典

    lst = [1,3,5,7,9]   #存放字典的键
    dic = {}.fromkeys(lst,0)    #将字典中所有键的值初始化为0

    2、打印初始化效果

    展开全文
  • Python中可以使用collections中的defaultdict类实现创建进行统一初始化字典。这里总结两种常用一点的初始化方式,分别是初始化为list和int。 初始化为list示范代码: #!/usr/bin/python from collectionsimport ...
  • 现在老师需要将两张表信息合并到一张表,计划先利用python读取两张表信息,然后将数据写入字典字典结构为:key为学生名字,value为列表,其内容为学生学号和班级信息。 老师手里的表信息如下: students_id_info =...

    需求:老师手里有两张表独立的表,分别是学生姓名与学号对应表和学生姓名与学生班级对应表。现在老师需要将两张表信息合并到一张表,计划先利用python读取两张表信息,然后将数据写入字典,字典结构为:key为学生名字,value为列表,其内容为学生学号和班级信息。

    老师手里的表信息如下:

    students_id_info = [('张三', 20200101),
    					('小红', 20200102),
    					('小东', 20200103)]
    
    students_class_info = [	('张三', '一年级一班'),
    						('小红', '一年级二班'),
    						('小东', '一年级三班')]
    

    整理后的结果应如下:

    #输出内容如下:
    
    {'张三': [20200101, '一年级一班'], '小红': [20200102, '一年级二班'], '小东': [20200103, '一年级三班']}
    

    针对该需求,信息老师代码如下:

    dct = {}
    for student_name, value in students_id_info:
    	dct[student_name]=[]
    	dct[student_name].append(value)
    
    for student_name, value in students_class_info:
    	dct[student_name].append(value)
    
    print(dct)
    

    学生A的代码如下:

    dct = {}
    for student_name, value in students_id_info:
    	dct[student_name]=[]
    	dct[student_name].append(value)
    
    for student_name, value in students_class_info:
    	try:
    		dct[student_name].append(value)
    	except:
    		dct[student_name]=[]
    		dct[student_name].append(value)
    
    print(dct)
    

    学生B的代码如下:

    dct = {}
    for student_name, value in students_id_info:
    	if student_name not in dct:
    		dct[student_name]=[]
    	dct[student_name].append(value)
    
    for student_name, value in students_class_info:
    	if student_name not in dct:
    		dct[student_name]=[]
    	dct[student_name].append(value)
    
    print(dct)
    

    学生C的代码如下:

    dct = {}
    for student_name, value in students_id_info + students_class_info:
    	dct.setdefault(student_name, []).append(value)
    
    print(dct)
    

    学生D的代码如下:

    from collections import defaultdict
    dct = defaultdict(list)				#可以为list\set\range 等工厂函数
    for student_name, value in students_id_info + students_class_info:
    	dct[student_name].append(value)
    
    print(dct)
    
    

    以上代码输出结果都是正确的,根据不同场景选择不同代码。
    思考:如果老师的名单如下,应该选择哪些方式更合理呢?

    students_id_info = [('张三', 20200101),
    					('小红', 20200102),
    					('小东', 20200103),
    					('无名人士1', 19990101)]
    
    students_class_info = [	('张三', '一年级一班'),
    						('小红', '一年级二班'),
    						('小东', '一年级三班'),
    						('无名人士2', '二年级一班')]
    
    展开全文
  • python 字典初始化方法 全!!!

    万次阅读 2019-09-02 18:32:21
    python字典还是比较常用的,可惜自己一直记不住,好记性不如烂笔头这话说的一点没错 方法一: (这个是比较常见的) d1 = {'x': 1, 'y': 2} print(d1['x']) >>> 1 当然也有这种特别好理解,但是...

    python 中字典还是比较常用的,可惜自己一直记不住,好记性不如烂笔头这话说的一点没错

    方法一:

    (这个是比较常见的)

    d1 = {'x': 1, 'y': 2}
    print(d1['x'])
    
    >>> 1
    

    当然也有这种特别好理解,但是写起来不那么.......友好的

    d1' = {}
    d1'[k1] = v1
    d1'[k2] = v2
    .......
    

    方法二:

    d2 = dict(x = 1, y = 2)
    print(d2['x'])
    
    >>> 1

    方法三:

    d3 = dict(zip('abc', [1,2,3])
    print(d3['b'])
    
    >>> 2

    方法四:(这种我没太用过,在书上偶然看到就先记下,后续有发现再补充)

    d4 = dict.fromkeys(range(2), 3)
    print(d4[1])
    
    >>> 3
    
    d4' = dict.fromkeys(('x', 'y'),)
    print(d4'['x'])
    
    >>> None

    方法五:

    list = [('a', 1), ('b', 2), ('c', 3)]
    d5 = dict(list)
    print(d5['a'])
    
    >>> 1

            字典是一种关联容器,每个键都映射到一个单独的值上。如果想让键映射到多个值,需要将多个值保存到另一个容器如列表或集合中。例如:

    m = {
       'a' : [1, 2, 3],
       'b' : [4, 5]
    }
    
    n = {
       'a' : {1, 2, 3},
       'b' : {4, 5}
    }

            至于要使用列表还是集合完全取决于使用的意图。如果希望保留元素插入的顺序,就用列表。如果希望消除重复元素(且不在意它们的顺序),就用集合

    为了能方便地创建这样的字典,可以利用collections模块中的defaultdict类。defaultdict的一个特点就是它会自动初始化第一个值,这样只需添加元素即可,例如:

    from collections import defaultdict
    #list
    d = defaultdict(list)
    d['a'].append(1)
    d['a'].append(2)
    d['b'].append(4)
    .......
    #set
    d = defaultdict(set)
    d['a'].add(1)
    d['a'].add(2)
    d['b'].add(4)
    .......

            原则上,构建一个一键多值字典是很容易的。但是如果试着自己对第一个值做初始化操作,这就会变得很杂乱。例如,可能会写下这样的代码:

    d = {}
    for key, value in pairs:
        if key not in d:
            d[key] = []
        d[key].append(value)

    如果使用defaultdict的话,代码会简单一些

    d = defaultdict(list)
    for key, value in pairs:
        d[key].append(value)

    先写这么多,后续再补充~

    展开全文
  • 那么,在Python中,Dictionary是一个怎么样的数据类型呢?在Python中,Dictionary是一种可变的容器类型。所谓容器类型,就是我们放置数据的地方。不同于List的有序、操作时对数据类型统一性的要求较严格,D...
  • python字典初始化

    千次阅读 2019-12-22 23:21:47
    二、初始化字典:fromkeys() 三、访问字典的三个方法:keys(),values(),items() 四、get():判断键值是否在字典中。如果键值在字典中则返回该键值对应的value!否则返回第二个参数的值,第二个参数默认None ...
  • Python字典初始化三种方式

    万次阅读 2019-07-03 23:16:40
    Python字典初始化三种方式 In [1]: from collections import defaultdict In [3]: b = dict() In [4]: c = {} In [5]: a = defaultdict(defaultdict) In [6]: print(type(a),type(b),type(c)) <class '...
  • Python : 3.7.0OS : Ubuntu 18.04.1 LTSIDE : PyCharm 2018.2.4Conda : 4.5.11typesetting : Markdowncode"""@Author : 行初心@Date : 18-9-23@Blog : ...
  • 原地址为:https://www.runoob.com/python/python-func-dict.html
  • python字典的元素的值初始化的方法: 1. 常规方法 if else for w in wds:  if w in di:  di[w] = di[w]+1  else:  di[w] = 1 2. 字典的"get”方法 for w in wds: di[w]=di.get(w,0)+1 常用于利用字典统计单词...
  • python--字典初始化

    万次阅读 2015-12-04 16:29:45
    如果说deque是加强版的list的话,那加强版的字典又是什么的呢?没错,就是今天学习的defaultdict,它与deque一样,都是在collections库中的模块。 先来看这样一个问题:s = [('Tom', 5), ('Jone', 2), ('Susan', 4),...
  • Python中可以使用collections中的defaultdict类实现创建进行统一初始化字典。这里总结两种常用一点的初始化方式,分别是初始化为list和int。  初始化为list示范代码: #!/usr/bin/python   from collections...
  • 参考:...python字典初始化比较常用的两种方式:dict() 和 {} 性能方面,{}性能更好。 可以通过dist模块,查看两者的字节码: >>> impo...
  • 我们都知道,在 Python字典里边,如果 key 不存在的话,通过 key 去取值是会报错的。 >>> aa={'a':1, 'b':2} >>...Traceback (most recent call last): ...初始化的时候设定默认值(defa.
  • Python字典初始化和装载数据

    千次阅读 2019-04-25 00:09:55
    from collections import defaultdict c = {} c.setdefault('a', []).append(1) c.setdefault('a', []).append(2) c.setdefault('b', []).append(4) d = defaultdict(list) ...e中的a为字典
  • 字典:dic={'a':12, 'b':34} 集合:s = {1, 2, 3, 4} 列表:li=[1, 2, 3, 3] 元组:tup=(1, 2, 3, 4) #元组是不可更改的列表
  • 所以,这些数据类型的变量,初始化为空值分别是: 数值 digital_value = 0 字符串 str_value = “” 或 str_value = ” 列表 list_value = [] 字典 ditc_value = {} 元组 tuple_value...
  • 遗传算法matlab初始化代码Python 上的简单遗传算法 这个项目展示了python中的遗传算法过程 为什么是Python? 因为我喜欢它 讨厌Python? 这是你的问题:P 要求 pip install numpy 算法说明 遗传算法流程图 1.初始化...
  • 初始化字典的6种方式

    千次阅读 2017-08-11 21:35:48
    查了这么多资料,我就选取几个最常见的初始化字典的方法来说明一下吧。 1. 最直观,最易懂的: dic1 = {"1years":1,"2years":2,"3years":3,"4years":4,"5years":5} 2. dic2 = dict(t=1,p=2),注意:其中...
  • 尽管我们可以自由地给一个实例绑定各种属性,但是,现实世界中,一种类型的实例应该拥有相同名字的属性。例如,Person类应该在创建的时候就拥有 name、gender 和 birth 属性,怎么办? 在定义 Person 类时,可以为...
  • 相对于Series数结构,DataFrame可以由多列,因此他的功能比Series更加强大,我们可以把DataFrame看成是一张excel表格的sheet,用它就可以完成很多原来excel需要手动完成的工作,从而实现数据处理自动了,想想也是...
  • Python __init__初始化方法。 类在实例化对象的时候,就默认调用__init__初始化方法。 程序实例1: class Animal(object): def __init__(self): print("我是动物") def eat(self, food): print(f"正在吃{food}...
  • 但是并不是完全安全,请看下面这个例子:复制代码 代码如下:#这里初始化一个dict>>> d = {‘a’:1, ‘b’:0, ‘c’:1, ‘d’:0}#本意是遍历dict,发现元素的值是0的话,就删掉>>> for k in d:… if d[k] == 0:… ...
  • >>> dict={} #初始化字典 >>> dict.setdefault(a,[]).append(A) #格式化字典 >>> dict {'a': ['A']} >>> dict.setdefault(a,[]).append(AT) >>> dict {'a': ['A', 'AT']} >>> dict.setdefault(a,[]).append(ATCG) >>...
  • 初始化1由字典初始化data1 = {'name':['li', 'liu', 'chen'], 'score':[90, 80, 85]} df1 = pd.DataFrame(data1) print(df1) name score 0 li 90 1 liu 80 2 chen 85 可以指定列名和索引df2 = pd.DataFr...
  • python 批量给字典赋值,更新字典

    千次阅读 2020-12-18 13:24:51
    a = ['google','runoob','taobao'] new_dic = dict.fromkeys(a,1) print(new_dic) # {'google': 1, 'runoob': 1, 'taobao': 1} 将俩列表组合字典 seq = ['Google', 'Runoob', 'Taobao'] a = ['google','runoob','...
  • Python的四种数据类型字典、集合、列表、元组,分别用花括号、中括号、小括号表示。 数组:a = np.array([2,3,4]) # 需要依靠numpy 字典:dic={'a':12, 'b':34} 集合:s = {1, 2, 3, 4} 列表:li=[1, 2, 3, 3] 元组...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 66,466
精华内容 26,586
关键字:

python初始化字典

python 订阅