Python字典键值对的添加和遍历

Python字典键值对的添加和遍历,第1张

添加键值对

首先定义一个空字典

>>>dic={}

直接对字典中不存在的key进行赋值来添加

>>>dic['name']='zhangsan'

>>>dic

{'name': 'zhangsan'}

如果key或value都是变量也可以用这种方法

>>>key='age'

>>>value=30

>>>dic[key]=value

>>>dic

{'age': 30. 'name': 'zhangsan'}

这里可以看到字典中的数据并不是按先后顺序排列的,如果有兴趣,可以搜一搜数据结构中的——哈希表

从python3.7开始,字典按照插入顺序,实现了有序。修改一个已存在的key的值,不影响顺序,如果删了一个key后再添加该key,该key会被添加至末尾。标准json库的dump(s)/load(s)也是有序的

还可以用字典的setdefault方法

>>>dic.setdefault('sex','male')

'male'

>>>key='id'

>>>value='001'

>>>dic.setdefault(key,value)

'001'

>>>dic

{'id': '001', 'age': 30. 'name': 'zhangsan', 'sex': 'male'}

jquery对json 键值对或数组的增加、删除、遍历 *** 作的代码如下:

var jsonStr={}

//增加jsonStr["name1"]="yu"jsonStr["name2"]="jin"jsonStr["name3"]="sheng"

$.each(jsonStr,function(_key)

{    console.log("Push结果:"+_key+"=="+jsonStr[_key]+"\r\n")})

//遍历$.each(jsonStr,function(_key)

{    var key = _key

var value = jsonStr[_key] 

if(_key=="name1")

{  //删除       delete jsonStr[_key]

}

})

$.each(jsonStr,function(_key){    console.log("删除后的结果:"+_key+"=="+jsonStr[_key]+"\r\n")

})

输出结果为:

扩展资料:

jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。

jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档 *** 作、事件处理、动画设计和Ajax交互。

jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。

jQuery的模块可以分为3部分:入口模块、底层支持模块和功能模块。

在构造jQuery对象模块中,如果在调用构造函数jQuery()创建jQuery对象时传入了选择器表达式,则会调用选择器Sizzle(一款纯JavaScript实现的CSS选择器引擎,用于查找与选择器表达式匹配的元素集合)遍历文档,查找与之匹配的DOM元素,并创建一个包含了这些DOM元素引用的jQuery对象。

浏览器功能测试模块提供了针对不同浏览器功能和bug的测试结果,其他模块则基于这些测试结果来解决浏览器之间的兼容性问题。

在底层支持模块中,回调函数列表模块用于增强对回调函数的管理,支持添加、移除、触发、锁定、禁用回调函数等功能。

异步队列模块用于解耦异步任务和回调函数,它在回调函数列表的基础上为回调函数增加了状态,并提供了多个回调函数列表,支持传播任意同步或异步回调函数的成功或失败状态。

数据缓存模块用于为DOM元素和Javascript对象附加任意类型的数据;队列模块用于管理一组函数,支持函数的入队和出队 *** 作,并确保函数按顺序执行,它基于数据缓存模块实现。

参考资料:

百度百科--jQuery

使用集合去重 + local动态变量设置 + exec 字符串解析 可实现,话不多说,代码在下面,格式有问题调整下空格:

list_msg = [{'date':'2019-08-17', 'type':'旅游', 'over_im':'12365'},

{'date':'2019-08-17', 'type':'haha', 'over_im':'12365'},

{'date':'2019-08-18', 'type':'娱乐', 'over_im':'11234'},{'date':'2019-08-19', 'type':'生活', 'over_im':'9532'},]

# 去除字典重复的data ,获取数据包含多少天内容

set_mark = {i['date'] for i in list_msg}

# 去除非法命名字符作为列表后缀:

ver_name = [i.replace('-','_') for i in set_mark]

# 给列表排序,确保按照顺序输出变量

ver_name.sort()

# 设置动态命名模板

list_name_template = 'list_data_'

# 创建local对象,准备创建动态变量

createver = locals()

# 循环遍历数据并创建动态列表变量接收

for mark in set_mark:

# 动态创建变量

createver[list_name_template + mark.replace('-','_')] \

= [dict_current for dict_current in list_msg if dict_current['date'] == mark]

for name in ver_name:

print(list_name_template + name + ':' ,end='\t') # 打印自动创建的变量名称,采用tab分隔

exec('print('+list_name_template + name +')') # 打印变量内容(列表)

'''

打印结果

list_data_2019_08_17: [{'date': '2019-08-17', 'type': '旅游', 'over_im': '12365'}, {'date': '2019-08-17', 'type': 'haha', 'over_im': '12365'}]

list_data_2019_08_18: [{'date': '2019-08-18', 'type': '娱乐', 'over_im': '11234'}]

list_data_2019_08_19: [{'date': '2019-08-19', 'type': '生活', 'over_im': '9532'}]

'''


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11882903.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存