第二周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笔记 数据类型 列表 字典的更多相关文章
- 第二周Python笔记之 变量的三元运算
如果变量a小于b,则d的值取a变量的值,否则取c变量的值
- Python基本数据类型--列表、元组、字典、集合
一.Python基本数据类型--列表(List) 1.定义:[ ]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素. 2.列表的创建: # 方式一 list1 = ['name','ag ...
- Python基础数据类型-列表(list)和元组(tuple)和集合(set)
Python基础数据类型-列表(list)和元组(tuple)和集合(set) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的 ...
- python基本数据类型之字典
python基本数据类型之字典 python中的字典是以键(key)值(value)对的形式储存数据,基本形式如下: d = {'Bart': 95, 'Michael': 34, 'Lisa': 5 ...
- python基础数据类型--列表(list)
python基础数据类型--列表(list) 列表是我们在后面经常用到的数据类型之一,通过列表可以对数据类型进行增.删.改.查等操作 一列表的增.删.改.查 1增: 1.1增加到最后 append ...
- 《Linux内核分析》第二周学习笔记
<Linux内核分析>第二周学习笔记 操作系统是如何工作的 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/ ...
- Linux内核分析第二周学习笔记
linux内核分析第二周学习笔记 标签(空格分隔): 20135328陈都 陈都 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.co ...
- 三、python的数据类型 列表、元组、字典
1.list 列表 列表是由一序列特定顺序排列的元素组成的.可以把字符串,数字,字典等都可以任何东西加入到列表中,列表中的元素之间没有任何关系.列表也是自带下标的,默认也还是从0开始. List常用的 ...
- 20165326 java第二周学习笔记
学习笔记 一.理论学习 基本数据类型与数组 标识符的第一个字符不能是数字:标识符不能为关键字. 基本数据类型多数与c语言相同.重点如下: 1.逻辑类型boolean赋值true/false 2.浮点数 ...
随机推荐
- 关于uni-app导航栏中 中间大图标的设置
在uni-app的开发过程中,想要将位于中间的图标设置更大,通过一般的更改导航栏图标大小方式实现不了.经过查看官方文档可以发现,我们可以通过midbutton来设置中间tabbar的样式. 但前提是, ...
- 【.NET 6】使用.NET 6开发minimal api以及依赖注入的实现、VS2022热重载和自动反编译功能的演示
前言: .net 6 LTS版本发布已经有若干天了.此处做一个关于使用.net 6 开发精简版webapi(minimal api)的入门教程,以及VS2022 上面的两个强大的新技能(热重载.代码自 ...
- Codeforces 286E - Ladies' Shop(FFT)
Codeforces 题面传送门 & 洛谷题面传送门 好久没刷过 FFT/NTT 的题了,写篇题解罢( 首先考虑什么样的集合 \(T\) 符合条件.我们考察一个 \(x\in S\),根据题意 ...
- Matlab指针数组
Matlab指针数组 前面博客Matlab指针中介绍了如何在Matlab中使用handle类型对象作为指针使用,本文则介绍一些使用这些类型指针的小技巧. 自定义类型的指针数组 在大部分编程语言中,我们 ...
- 比对软件Blast,Blast+,Diamond比较
1. Blast (1)格式化数据库 formatdb -i db.seq -p T -o T -l logfile 主要参数: -i 输入需要格式化的源数据库名称 -p 文件类型,是核苷酸序列数据库 ...
- dlang 字符串char[] 和string
各个情况下数据类型异同 1 import std.stdio; 2 import std.string; 3 4 void main(){ 5 6 auto a="auto_a"; ...
- mysql—mysql错误Every derived table must have its own alias解决
Every derived table must have its own alias 这句话的意思是说每个派生出来的表都必须有一个自己的别名. 一般在多表查询时,会出现此错误. 因为,进行嵌套查询的 ...
- 『学了就忘』Linux文件系统管理 — 62、手动分配swap分区
目录 1.查看swap分区情况 2.手动修改swap分区 3.格式化swap分区 4.使用swap分区 5.配置swap分区开机之后自动挂载 1.查看swap分区情况 swap分区就相当于是内存的一个 ...
- [Emlog主题] Monkey V3.0 优化修改
原作者博客:https://blog.dyboy.cn/ Monkey V3.0 优化修改版 修改说明: 背景颜色修改(按个人喜好可自行修改,仿PCQQ午夜巴黎皮肤) 搜索框按钮样式优化,不那么突兀了 ...
- Hive(十三)【Hive on Spark 部署搭建】
Hive on Spark 官网详情:https://cwiki.apache.org//confluence/display/Hive/Hive+on+Spark:+Getting+Started ...