第二周Python笔记 数据类型 字典
Posted zhangmingda
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二周Python笔记 数据类型 字典相关的知识,希望对你有一定的参考价值。
列表,拉锁式儿合并。
[ [a,b] for a,b in zip(list1,list2)]
#最笨的 a=[1,2,3,4,5] b=[2,3,4,5,6] d=[] for i in range(len(a)): c = [] c.append(a[i]) c.append(b[i]) d.append(c) #列表垂直合并 In [8]: list3 Out[8]: [[\'11:00\', \'11:01\', \'11:02\'], [\'2\', \'2\', \'3\']] In [9]: [[a,b] for a,b in zip(*list3)] Out[9]: [[\'11:00\', \'2\'], [\'11:01\', \'2\'], [\'11:02\', \'3\']] #两个列表合并为元组 In [10]: [a for a in zip(list1,list2)] Out[10]: [(\'11:00\', \'2\'), (\'11:01\', \'2\'), (\'11:02\', \'3\')] #一个列表顺序合并 date=[] date_temp1=[\'1545225954.721;1545225955.115\', \'1545225955.215;1545225955.316;1545225955.422\', \'1545225955.708;1545225955.817;1545225955.916\', \'1545225956.230;1545225956.319\'] date_temp2=[] for i in range(len(date_temp1)): if date_temp1[i]: date_temp2.append(date_temp1[i].split(\';\')) print(date_temp2) for i in date_temp2: for j in i: date.append(j)
字典key-value的删除、def(dict[\'key\']) ; dict.pop(“key”)
查询value:dict.get(“key”)
查询所有keys,values()
转换为列表.items()
fromkeys([key1,key2,key....],"default_value)初始化一个字典:注意初始化的value为一个内存地址。
注意多层级的初始化字典的坑
for循环取值
省市县多级字典查询while死循环查询if判断,for遍历取值
省市县级查询,每一级都可以exit退出查询程序,或者back返回上级重新选择再查询。
应用重点知识:
elif可以多次进行判断使用,判断是输入back返回上一级,输入exit退出程序
每一个层级,如果是选择了输入exit,就赋值一个变量。然后break退出本次while循环,然后这个变量在退出while循环后,这个变量会存在。给上一个while循环做判断:进入每个层级的时候都先判断这个exit_变量是否存在,存在就依次退出while并向上级传递exit_变量的存在。依次退出直至退出整个程序。
补充新知识:判断变量是否存在
python中检测某个变量是否有定义
第一种方法使用内置函数locals():
\'testvar\' in locals().keys()
第二种方法使用内置函数dir():
\'testvar\' in dir()
while True:
if "exit_" in locals().keys(): #判断变量是否存在,存在就跳出循环:做退出程序用,
break
else:
pass
for i in china_data:
print(i)
input1 = input("查哪个省?quit/exit可退出")
if input1 in china_data:
while True:
if "exit_" in locals().keys(): #判断变量是否存在,存在就跳出循环:做退出程序用
break
else:
pass
for i in china_data[input1]:
print("\\t",i)
input2 = input("\\t\\t查哪个市?back返回exit退出")
if input2 in china_data[input1]:
while True:
if "test_" in locals().keys(): #判断变量是否存在,存在就跳出循环:做退出程序用
break
else:
pass
for i in china_data[input1][input2]:
print("\\t\\t",i)
input3 = input("\\t\\t\\t查哪个县?back返回exit退出")
if input3 in china_data[input1][input2]:
for i in china_data[input1][input2][input3]:
print("\\t\\t\\t",i)
input4 = input("\\t\\t\\t\\t继续吗?back返回,exit退出")
if input4 == "back":
break
elif input4 == "exit": #【最底层查询后,如果输入exit就赋值一个变量传给上层循环做判断】
exit_ = 1
print("退出程序")
break
elif input3 == "back":
print("退出县级")
break
elif input3 == "exit": #【选择县级时如果输入exit就赋值一个变量传给上层循环做判断】
exit_ = 1
print("退出程序")
break
else:
print("您输入的县不存在,重新输入")
elif input2 == "back":
print("退出市级")
break
elif input2 == "exit": #【选择市级时,如果输入exit就赋值一个变量传给上层循环做判断】
print("退出程序")
exit_ = 1
break
else:
print("您输入的市不存在,重新输入")
elif input1 == "quit":
print("退出查询")
break
elif input1 == "exit": #【判断刚进入程序时(选择省级时),如果输入的市exit就退出程序】
exit_ = 1
print("退出程序")
break
else:
print("您输入的省不存在,重新输入")
以上是关于第二周Python笔记 数据类型 字典的主要内容,如果未能解决你的问题,请参考以下文章