一、编译环境和编译器
ArcGIS10.6:Python2.7.14 32-bit
编译器:Visual Studio Code
二、字典
1.定义字典,获取字典关键字、值、对象
代码如下(示例):
# encoding=utf-8
#定义字典{key:value}
dicA={"name":"Xiao Ming","age":14,"high":167,"other":""}
print(dicA)
print(len(dicA))#打印字典长度
#获取关键字、值、对象
print(dicA.keys())#打印字典关键字
print(type(dicA.keys()))#字典关键字类型,list
print(dicA.values())#打印值
print(type(dicA.values()))#字典值类型,list
print(dicA.items())#打印对象
print(type(dicA.items()))#字典对象类型,list
print("----------0")
#通过循环获取,以获取对象为例
for item in dicA.items():
print(item)
print("----------1")
#根据关键字获取值
print(dicA.get("name"))#根据关键字”name"获取值Xiao Ming
dicA.get("name")#当获取的关键字在原字典中不存在时,get()会返回默认值,但不改变原字典。
print(dicA)
print(dicA.setdefault('name'))#根据关键字”name"获取名字Xiao Ming
dicA.setdefault('grades')#当获取的关键字在原字典中不存在时,setdefaul()t会返回默认值None并更新字典
print(dicA)
打印结果:
{'high': 167, 'age': 14, 'other': '', 'name': 'Xiao Ming'}
4
['high', 'age', 'other', 'name']
<type 'list'>
[167, 14, '', 'Xiao Ming']
<type 'list'>
[('high', 167), ('age', 14), ('other', ''), ('name', 'Xiao Ming')]
<type 'list'>
----------0
('high', 167)
('age', 14)
('other', '')
('name', 'Xiao Ming')
----------1
Xiao Ming
{'high': 167, 'age': 14, 'other': '', 'name': 'Xiao Ming'}
Xiao Ming
{'high': 167, 'age': 14, 'other': '', 'grades': None, 'name': 'Xiao Ming'}
2.字典的操作:增、删、改、查、复制和创建
dicA={'high': 167, 'age': 14, 'other': '', 'grades': None, 'name': 'Xiao Ming'}
#字典的操作
#增
dicA["sex"]="boy"#用[]直接添加字典关键字和值,且增加在字典尾部
print(dicA)#打印增加后字典
dicB={"class":1,34:"ge"}
dicA.update(dicB)#将dicB更新到dicA中
print(dicA)#打印更新后结果
print("----------2")
#删
del dicA["other"]#通过del删除关键词和值
print(dicA)#打印删除后字典
dicA.pop("age")#索引并删除关键字为“age"的键值对
print(dicA)#打印pop后字典
dicA.popitem()#索引并删除字典最新加入的键值对
print(dicA)#打印popitem后结果
print("----------3")
#改
dicA["sex"]="girl"#通过关键字将性别改为girl,它会覆盖原来值
print(dicA)#打印改后字典
print("----------4")
#查
print dicA.has_key("sex")#查询字典中是否存在关键字sex
print("----------5")
#字典的复制
print(dicA.copy())#打印复制后字典
print("----------6")
#创建新字典
dic1={}#新建一个空的字典
dic2=dic1.fromkeys(("hair","leg"),"long")#对空的字典添加"hair"和“leg"两个关键值,并将值都赋为long
print(dic2)#打印新建字典
#清除
dic2.clear()#清除dic2
print(dic2)
打印结果:
{'name': 'Xiao Ming', 'age': 14, 'sex': 'boy', 'high': 167, 'grades': None, 'other': ''}
{34: 'ge', 'name': 'Xiao Ming', 'age': 14, 'sex': 'boy', 'high': 167, 'grades': None, 'other': '', 'class': 1}
----------2
{34: 'ge', 'name': 'Xiao Ming', 'age': 14, 'sex': 'boy', 'high': 167, 'grades': None, 'class': 1}
{34: 'ge', 'name': 'Xiao Ming', 'sex': 'boy', 'high': 167, 'grades': None, 'class': 1}
{'name': 'Xiao Ming', 'sex': 'boy', 'high': 167, 'grades': None, 'class': 1}
----------3
{'name': 'Xiao Ming', 'sex': 'girl', 'high': 167, 'grades': None, 'class': 1}
----------4
True
----------5
{'high': 167, 'class': 1, 'grades': None, 'name': 'Xiao Ming', 'sex': 'girl'}
----------6
{'hair': 'long', 'leg': 'long'}
{}