我的Python编程手册之数据类型,list,dict,json

数据类型转换

要想进行数据类型转换,先知道数据类型再进行转换type(a),详见Python3 数据类型转换,转换为整型int(a),转换字符串str(a)。

aa=['x', {'vm':[{'name':'robot', 'host': 'compute01'},{}]}, 'z']获取指定虚机所在的主机

分解 ['x', 'y', 'z']为list,其中y为{'vm':[{},{}]}为dict字典,也就是从list列表aa中获取字典y然后从字典y中获取list列表最后在列表中再获取一个个字典,再从字典中获取key的值。

vm_list=aa[1]['vm']获取所有虚机list列表或者vm_list=aa[1].get('vm')

for vm_list_i  in vm_list:

      vm_name=vm_list_i['name']

      if vm_name == 'robot':

                vm_host=vm_list_i['host']

1)  list有序的列表,可以随时添加和删除其中的元素。list列表中获取元素 a=['x', 'y', 'z']  len(a)获取元素的个数,a[0]获取列表第1个元素,通过索引访问每个位置的元素a[3]越界后报错IndexError: list index out of range,a[-1]获取最后一个元素。为确保索引越界,记得最后一个元素的索引为len(a)-1。list可变的有序表,追加元素到末尾a.append('u'),将元素插入list到指定位置a.insert(i, 'v'),删除list末尾元素a.pop(),删除指定位置的元素a.pop(i),某个元素替换成别的元素a[1]='w',list中嵌套list列表a=['x', 'y', ['x', 'y', 'z']]。

2) 另外一种有序列表叫元祖tuple,一旦初始化就不能修改。a=('x', 'y', 'z')没有list的append和insert这样的方法,其他元素的方法和list一样。

3) Python内置字典dict(dictionary),使用key-value存值。y={'aa':'dd', 'bb': 'cc'},获取某个key的值y['aa']或者y.get('aa');要删除一个key,用pop(key)方法,对应的value也会从dict中删除。

dict内部存放的顺序和key放入的顺序是没有关系的。和list比较,dict有以下几个特点:1) 查找和插入的速度极快,不会随着key的增加而变慢;2) 需要占用大量的内存,内存浪费多。而list相反:1) 查找和插入的时间随着元素的增加而增加;2) 占用空间小,浪费内存很少。所以dict是用空间来换取时间的一种方法

4) 另外一种字典set,是一组key的集合,不存储value。由于key不能重复,所以在set中,没有重复的key。y={'aa', 'bb'},添加元素到set中add(key)方法,删除set中元素remove(key)方法。

str字符串和json互换

str转json,import json  json.loads(a)

json转str,import json  json.dumps(a)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容