0602知识点整理#2-1(Python-4)

时间:2019-06-14
本文章向大家介绍0602知识点整理#2-1(Python-4),主要包括0602知识点整理#2-1(Python-4)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Json的操作

定义:Json是一个字符。例如:

d = {
        "error_code": 2,
        "msg": "无结果"
}#json里必须全是双引号
json.dumps()把字典转成json(字符串)
import json #文件名不能命名为json
d = {。。。}
with open('abc.json','w',encoding='utf-8') as fw:
s = json.dumps(d,ensure_ascii=False,indent=8) #把字典转成json字符串
json.loads()将字符串转成字典
with open('abc.txt',encoding='utf-8') as fr:
         result = fr.read()
         print('result,刚从文件里面读出来的',type(result))
         dic = json.loads(result)
         print('dic,转换完之后的',dic,type(dic))
        result = json.loads(fr)
        print('result',type(result))
转换后显示中文 ensure_ascii=False
缩进 indent=4
s = json.dumps(d,ensure_ascii=False,indent=8) 

 json直接操作文件 json.dump转成字符串

json.dump(d,fw,indent=4,ensure_ascii=False)

 json直接操作文件json.load转成字典(*要先读文件)

result = json.load(fr)
print('result',type(result))

 切片

定义:list取值的一种方式。例如:

l = ['xiaoming', 'xiaohei', 'xiaobai', 'jaojun','xiaolei']

print(l[0:1])#顾头不顾尾,只输出‘xiaoming’
print(l[:3]) #从最前面开始取值
print(l[1:])#取到最后一个值
print(l[0:6:2])#从0取到6,隔2-1个取一个

s='123456789'
print(s[::-1])#如果切片的步长是负数的话,那么就是从后往前开始取
#循环的时候不要删list里面的元素,会导致下标错乱(内存地址一样)
 li = [1,1,2,3,3,4,5,6,7,8,9]
 li2 = li[:]
 print('li',id(li))#查看内存地址
 print('li2',id(li2))
 for i in li2:
    if i%2!=0:
       li.remove(i)
print(li)

浅拷贝、深拷贝

import copy
 stus = ['abc','xioahei','abc2']
 stu1 = stus  #浅拷贝-内存地址未变

stus2 = stus[:] #深拷贝
stu3 = copy.deepcopy(stus)#深拷贝-内存地址变化


原文地址:https://www.cnblogs.com/kexinwang/p/11022071.html