Python爬虫与数据分析之Python的语法、字典、元组、列表

用python快三年了,一直都没有空去整理学过的知识。趁着这段时间项目比较空闲,业余时间多,开了一个专栏,专门讲述自己对Python的学习经历,与各位共勉!

专栏目录:

Python爬虫与数据分析之python教学视频、python源码分享,python

Python爬虫与数据分析之基础教程:Python的语法、字典、元组、列表

Python爬虫与数据分析之进阶教程:文件操作、lambda表达式、递归、yield生成器

Python爬虫与数据分析之模块:内置模块、开源模块、自定义模块

Python爬虫与数据分析之爬虫技能:urlib库、xpath选择器、正则表达式

Python爬虫与数据分析之京东爬虫实战:爬取京东商品并存入sqlite3数据库

Python爬虫与数据分析之二手车平台数据获取和分析

Python爬虫与数据分析之python开源爬虫项目汇总

入门知识拾遗

一、作用域

对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用。

View Code

 作用域应用范围:

外层变量,可以被内层变量使用

内层变量,无法被外层变量使用

 

二、三元运算

result = 值1 if 条件 else 值2

如果条件为真:result = 值1
如果条件为假:result = 值2

 

三、进制

  • 二进制,01
  • 八进制,01234567
  • 十进制,0123456789
  • 十六进制,0123456789ABCDEF

Python基础

一、整数

如: 18、73、84

整数常用功能函数:

 View Code

 二、长整型

可能如:2147483649、9223372036854775807

长整型常用功能:

 View Code

 

四、字符串

如:'wupeiqi'、'alex'

字符串常用功能:

 View Code

注:编码;字符串的乘法;字符串和格式化

 

五、列表

如:[11,22,33]、['wupeiqi', 'alex']

列表常用功能:

 View Code

注:排序;

 

六、元组

如:(11,22,33)、('wupeiqi', 'alex')

元组常用功能:

 View Code

 

七、字典

如:{'name': 'wupeiqi', 'age': 18} 、{'host': '2.2.2.2', 'port': 80]}

ps:循环时,默认循环key

字典常用功能:

 View Code

 

1

2

3

练习:元素分类

有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值

保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。

即: {'k1': 大于66 , 'k2': 小于66}

 

八、set集合

set是一个无序且不重复的元素集合,常用功能如下

View Code

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

练习:寻找差异

数据库中原有

old_dict = {

    "#1":{ 'hostname':c1, 'cpu_count': 2, 'mem_capicity': 80 },

    "#2":{ 'hostname':c1, 'cpu_count': 2, 'mem_capicity': 80 }

    "#3":{ 'hostname':c1, 'cpu_count': 2, 'mem_capicity': 80 }

}

 

# cmdb 新汇报的数据

new_dict = {

    "#1":{ 'hostname':c1, 'cpu_count': 2, 'mem_capicity': 800 },

    "#3":{ 'hostname':c1, 'cpu_count': 2, 'mem_capicity': 80 }

    "#4":{ 'hostname':c2, 'cpu_count': 2, 'mem_capicity': 80 }

}

 

需要删除:?

需要新建:?

需要更新:? 注意:无需考虑内部元素是否改变,只要原来存在,新汇报也存在,就是需要更新

 View Code

 

九、collection系列

1、计数器(counter)

Counter是对字典类型的补充,用于追踪值的出现次数。

ps:具备字典的所有功能 + 自己的功能

1

2

3

c = Counter('abcdeabcdabcaba')

print c

输出:Counter({'a': 5, 'b': 4, 'c': 3, 'd': 2, 'e': 1})

 View Code

 

2、有序字典(orderedDict )

orderdDict是对字典类型的补充,他记住了字典元素添加的顺序

 View Code

 

3、默认字典(defaultdict) 

学前需求:

1

2

有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。

即: {'k1': 大于66 , 'k2': 小于66}

 

View Code

 

4、可命名元组(namedtuple) 

根据nametuple可以创建一个包含tuple所有功能以及其他功能的类型。

1

2

3

import collections

 

Mytuple = collections.namedtuple('Mytuple',['x', 'y', 'z'])

View Code

 

5、双向队列(deque)

一个线程安全的双向队列

 View Code

 

注:既然有双向队列,也有单项队列(先进先出 FIFO )

 View Code

 

迭代器和生成器

一、迭代器

对于Python 列表的 for 循环,他的内部原理:查看下一个元素是否存在,如果存在,则取出,如果不存在,则报异常 StopIteration。(python内部对异常已处理)

 View Code

 

 二、生成器

range不是生成器 和 xrange 是生成器

readlines不是生成器 和 xreadlines 是生成器

1

2

3

4

>>> print range(10)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> print xrange(10)

xrange(10)

生成器内部基于yield创建,即:对于生成器只有使用时才创建,从而不避免内存浪费

1

2

3

4

5

6

7

8

9

10

11

练习:<br>有如下列表:

    [13, 22, 6, 99, 11]

 

请按照一下规则计算:

13  22 比较,将大的值放在右侧,即:[13, 22, 6, 99, 11]

22  6 比较,将大的值放在右侧,即:[13, 6, 22, 99, 11]

22  99 比较,将大的值放在右侧,即:[13, 6, 22, 99, 11]

99  42 比较,将大的值放在右侧,即:[13, 6, 22, 11, 99,]

 

13  6 比较,将大的值放在右侧,即:[6, 13, 22, 11, 99,]

...

 

 

View Code

 

 作业

  开发一个简单的计算器程序
  *实现对加减乘除、括号优先级的解析,并实现正确运算 

 

公告

 

更多python源码,视频教程,欢迎关注公众号:南城故梦

>零起点大数据与量化分析PDF及教程源码
>利用python进行数据分析PDF及配套源码
>大数据项目实战之Python金融应用编程(数据分析、定价与量化投资)讲义及源码
>董付国老师Python教学视频
1. 课堂教学管理系统开发:在线考试功能设计与实现
2. Python+pillow图像编程;
3. Python+Socket编程
4. Python+tkinter开发;
5. Python数据分析与科学计算可视化
6. Python文件操作
7. Python多线程与多进程编程
8. Python字符串与正则表达式
.....

>数据分析教学视频
1. 轻松驾驭统计学——数据分析必备技能(12集);
2. 轻松上手Tableau 软件——让数据可视化(9集);
3. 竞品分析实战攻略(6集);
4. 电商数据化运营——三大数据化工具应用(20集);

>大数据(视频与教案)
1. hadoop
2. Scala
3. spark

>Python网络爬虫分享系列教程PDF

>【千锋】Python爬虫从入门到精通(精华版)(92集)

欢迎关注公众号获取学习资源:南城故梦

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值