第二周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("您输入的省不存在,重新输入")

posted on   zhangmingda  阅读(183)  评论(0编辑  收藏  举报

编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示