数据结构:

  python数据结构共包含四大类:

  • 列表

     列表是可变元素,支持增删改查操作

  • 字典

    字典是遍历,key:value 格式.

  • 元组

    元组数据不可变元素,仅仅有两个操作 index, count

  • 集合

    集合的增删,创建集合{1, 2, 3}, set(),集合的集合操作.

控制流语句:

  • if 语句
  • if else 语句
  • if elif else语句
  • 永远只有一个分支被执行
  • while语句
  • for in 语句
  • break语句
  • continue语句
  • else语句

列表解析

  列表解析是python重要的语法糖,速度比for in迭代快,推荐使用

  基本语法

ret = [expression for item in iterator]

   等价于:  

ret = []
for item in iterator:
ret.append(expression)

  实例:

# 列表解析形式

In [1]: lst = list(range(1,11))

In [2]: lst
Out[2]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] In [3]: [x ** 2 for x in lst]
Out[3]: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] # for循环方式
In [6]: lst
Out[6]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] In [7]: ret=[] In [8]: for i in lst:
...: ret.append(i ** 2) In [10]: print(ret)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

多个列表情况

In [32]: [(x, y) for x in list1 for y in listb]
Out[32]:
[(1, 'a'),
(1, 'b'),
(1, 'c'),
(2, 'a'),
(2, 'b'),
(2, 'c'),
(3, 'a'),
(3, 'b'),
(3, 'c')]

含有条件的列表解析

基本语法:

ret = [expression for item in iterator if X if Y]

等同于

ret = []
for item in iterator:
if X and Y:
ret.append(expression)

实例:

In [34]: list1 = [2, 3, 4, 5, 6, 7]

In [35]: [x ** 2 for x in list1 if x<6 ]
Out[35]: [4, 9, 16, 25]

字典解析

  基本语法:

ret = {exprK:exprV for item in iterator}

   等同于

ret = dict()
for item in iterator:
ret.update({exprK: exprV})

字典解析实例:

  生成字典的方式:

In [26]: lista
Out[26]: ['a', 'b', 'c', 'd', 'e'] In [27]: listb
Out[27]: [1, 2, 3, 4, 5] In [28]: {k:v for k in lista for v in listb}
Out[28]: {'a': 5, 'b': 5, 'c': 5, 'd': 5, 'e': 5} In [29]: {k:v for k, v in [('a', 1), ('b', 2)]}
Out[29]: {'a': 1, 'b': 2}

集合解析:

# 生成集合
In [36]: {x + 1 for x in range(10)}
Out[36]: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} #集合解析 In [38]: {x+1 for x in [2, 2, 2, 3]}
Out[38]: {3, 4}

  

python 基础知识(待补充)的更多相关文章

  1. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  2. python基础知识(二)

    以下内容,作为python基础知识的补充,主要涉及基础数据类型的创建及特性,以及新数据类型Bytes类型的引入介绍

  3. python 基础知识(一)

    python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...

  4. python基础知识讲解——@classmethod和@staticmethod的作用

    python基础知识讲解——@classmethod和@staticmethod的作用 在类的成员函数中,可以添加@classmethod和@staticmethod修饰符,这两者有一定的差异,简单来 ...

  5. python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

    本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...

  6. python 爬虫与数据可视化--python基础知识

    摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...

  7. python基础知识小结-运维笔记

    接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...

  8. Python基础知识(五)

    # -*- coding: utf-8 -*-# @Time : 2018-12-25 19:31# @Author : 三斤春药# @Email : zhou_wanchun@qq.com# @Fi ...

  9. Python基础知识(Basic knowledge)

    Python基础知识(Basic knowledge) 1.认识Python&基础环境搭建 2.Python基础(上) 3.Python基础(中) 4.Python基础(下) 5.Python ...

  10. Python 基础知识(一)

    1.Python简介 1.1.Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时 ...

随机推荐

  1. 【轮子狂魔】手把手教你用JS给博客动态增加目录 - 超级懒人版

    动态显示目录的作用 不用每次写博客的时候繁琐的人工整理目录,又可以动态浮动在右下角,方便快速跳到感兴趣的位置同时也可以快速的对文章内容有一个大概的了解. 实现原理 首先根据个人喜好,我习惯了用 h1 ...

  2. caoz大神力作、互联网从业者必读之书——《你凭什么做好互联网》深入总结

    作者简介:曹政--俞军的关门弟子,CNZZ统计工具的缔造者,前百度商业产品部boss,4399CTO,微信公众号"caoz的梦呓"(yi),文后附上二维码,经常发布各种互联网干货, ...

  3. HttpRequest获取文件流,HttpResponse输出文件流

    HttpResponse输出文件: Response.Clear(); Response.ContentType = "application/octet-stream"; //通 ...

  4. Apache2.2以上版本与Tomcat整合配置及负载均衡实现

    apache2.2以上版本,无需使用jk_mod来集成tomcat,直接使用ajp,很方便. 修改apache配置文件httpd.conf 启用mod_proxy_ajp #LoadModule pr ...

  5. php的empty()和isset()用法

    共同点: 1.都可以判定一个变量是否为空: 2.都返回boolean类型,即true或false. 区别: 1.isset()用来检测变量是否设置,只能用于变量,因为传递任何其它参数都将造成解析错误. ...

  6. 做推送,怎么能不了解推送的 4 种消息形式呢?(iOS 篇)

    极光推送是为 App 提供第三方推送服务的平台之一,它提供四种消息形式:通知,自定义消息,富媒体和本地通知.笔者将基于官方说明与个人理解来谈一下这四种消息.本篇为 iOS 篇,Android 篇入口. ...

  7. Oracle Jdbc驱动下载及安装本地maven仓库

    由于二进制许可 binary license的限制,oracle jdbc驱动不能通过共有仓库来获取,所以你可以下载下来添加到自己的本地仓库或私有仓库中. 添加到本地仓库步骤如下: 下载Oracle ...

  8. 服务器数据库搭建流程(CentOs+mysql)

    前言: 服务器上数据库搭建需要知道Linux系统的版本,以前的Ubuntu14.04直接在终端下输入apt-get install (package)便可方便的下载并安装mysql,但是在centOs ...

  9. DOM基础(四)

    每次写DOM的时候,就觉得好像没什么好写,因为涉及到知识点的方面的确不多,对于DOM来说,更多的还是练习为主.在练习的时候,最好能结合着js基础语法的知识点来学习.这样,在学习DOM的时候就不会那么枯 ...

  10. 算法模板——Trie树

    实现功能——实现对于不同字符串以及之前出现过的字符串的识别,对于单个长度为L的字符串,复杂度为O(L); 代码不难懂,直接上(在识别字符串方面,个人觉得其好处远远大于hash识别——1.理论上都是O( ...