python 基础知识(待补充)
数据结构:
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 基础知识(待补充)的更多相关文章
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- python基础知识(二)
以下内容,作为python基础知识的补充,主要涉及基础数据类型的创建及特性,以及新数据类型Bytes类型的引入介绍
- python 基础知识(一)
python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...
- python基础知识讲解——@classmethod和@staticmethod的作用
python基础知识讲解——@classmethod和@staticmethod的作用 在类的成员函数中,可以添加@classmethod和@staticmethod修饰符,这两者有一定的差异,简单来 ...
- python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。
本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...
- python 爬虫与数据可视化--python基础知识
摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...
- python基础知识小结-运维笔记
接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...
- Python基础知识(五)
# -*- coding: utf-8 -*-# @Time : 2018-12-25 19:31# @Author : 三斤春药# @Email : zhou_wanchun@qq.com# @Fi ...
- Python基础知识(Basic knowledge)
Python基础知识(Basic knowledge) 1.认识Python&基础环境搭建 2.Python基础(上) 3.Python基础(中) 4.Python基础(下) 5.Python ...
- Python 基础知识(一)
1.Python简介 1.1.Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时 ...
随机推荐
- 使用光盘iso实现Linux操作系统的自动安装部署
前边写了一篇使用 PXE 的方式批量安装操作系统,不是任何时候任何地方都有环境来通过 PXE 方式来进行安装.如果此时需要通过光盘安装,默认的情况下是通过交互式方式进行安装,其实也可以通过 kicks ...
- Jquery动态增加行和删除行
$("#add_5").click(function(){ var str_1="<tr> <td><input type=\"t ...
- JavaScript内置对象-Array
▓▓▓▓▓▓ 大致介绍 除了Object之外,Array类型恐怕就是JavaScript种最常用的类型了,JavaScript中的数组与其他语言中的数组有很大的区别,例如,数组的每一项可以存放任何值, ...
- 【前端】:jQuery上
前言: 今天写一篇jQuery,发现内容太多了,那就分成两篇写吧--写完jQuery基础知识后会再写一些jQuery实例~~ jQuery下载.jQuery是一个兼容多浏览器的javascript库, ...
- xargs命令详解,xargs与管道的区别
为什么要用xargs,问题的来源 在工作中经常会接触到xargs命令,特别是在别人写的脚本里面也经常会遇到,但是却很容易与管道搞混淆,本篇会详细讲解到底什么是xargs命令,为什么要用xargs命令以 ...
- PHP工厂模式
class yunsuan { public $a; public $b; function suan() { echo "对两个数进行运算"; } } class jia ext ...
- 未来工厂——电器行业ERP案例
江苏科兴电器有限公司位于全国著名的“银杏之乡”泰兴市南首,主要生产35kV及以下电流.电压互感器等系列产品.产品多次经国家及省市技术监督部门抽检合格,广泛应用于国家重点工程.“COSINE”商标荣获泰 ...
- Java的JDBC原生态学习以及连接池的用法
JDBC是什么 JDBC(Java Data Base Connectivity)是Java访问数据库的桥梁,但它只是接口规范,具体实现是各数据库厂商提供的驱动程序(Driver). 应用程序.JDB ...
- js小动画算法
function step(A,B,rate,callback){ A = A + (B - A) / (rate || 2); if(Math.abs(A-B) < 1){ callback( ...
- wemall开源商城免费商城系统部分代码(内含代码地址)
wemall开源商城免费商城系统部分代码,下面分享部分代码,供学习者学习: 开源版把install文件夹下的install.lock删除之后可进行自动安装 后台访问地址:http:// www.xxx ...