首页 > 代码库 > 上帝说要有光,于是就有了Python(上)

上帝说要有光,于是就有了Python(上)

群主刚加入希捷一周就邂逅了python,因为老板是python高手,虽然我们组是做硬盘test firmware的(用C语言),但老板抑制不住布道python的冲动把一本learn python the hard way混入了新人入职培训大礼包,企图润物细无声。但小伙伴们是鸡贼的,没几个人正眼瞧过那本电子书,心想:不就是个脚本语言么?何况希捷还有专门的脚本组。只有“大智若愚”的群主看了、爱上了、不可自拔……事实证明,多尝试新事物是值得的,蝴蝶翅膀不知什么时候给你命运带来一阵龙卷风,让你飞上天,和太阳肩并肩。

 

技术分享

 

Python是学习(和实现)机器学习技术最好的语言之一,why?

  • 语言简单:可以说是裸奔的伪代码了,不作不装逼,花括号、分号都不要不要了,写起来文思泉涌,不定闹钟强迫自己休息停不下来。

  • 功能强大:从爬虫到网站,从数据挖掘到机器学习,you name it!

  • 丰富的ML库:数百个轮子让你有种后宫选妃的君临天下感。

 

说了那么多python的好处,相信求知欲旺盛的你已经跃跃欲试了!收拾一下凌乱的心情,和群主一起进入贤者模式。本着优雅学机器学习,杜绝大喘气的原则,关于python分三次讲完,本周介绍常用数据类型,下周是基本语法,下下周是函数、类、模块。

 

Python常用数据类型1

一、序列(列表、元组和字符串)

Python的序列中的每个元素都有自己的编号。Python中有6种内建的序列,其中列表和元组是最常见的类型。其他包括字符串、Unicode字符串、buffer对象和xrange对象。下面重点介绍下列表、元组和字符串。

 

1、列表(list)

列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能。

技术分享

 

常用操作list的方法:

  • 追加元素:list.append(var)

  • 插入元素:list.insert(index,var)

  • 返回最后一个元素并删除:list.pop(var)

  • 删除第一次出现的该元素:list.remove(var)

  • 元素在列表中出现的个数:list.count(var)

  • 元素的位置,无则抛异常:list.index(var)

  • 合并list2到list上:list.extend(list2)

  • 正序排序:list.sort()

  • 倒序排序: list.reverse()

 

关于 list的复制:

  • L1 = L

    L1为L的别名(浅拷贝),用C语言来说就是指针地址相同,对L1操作即对L操作。函数参数就是这样传递的

  • L1 = L[:]

    L1为L的克隆,即另一个拷贝(深拷贝)。([:]表示从第0个元素到最后一个,[start_index:end_index]表示从第start_index个元素到第end_index之前的所有元素,也是一个列表,建议在IPython Notebook里尽情调戏)

     

2、元组(tuple)

元组与列表一样,也是一种序列,唯一不同的是元组不能被修改(字符串其实也有这种特点)。

技术分享

  • 一般用逗号分隔一些值来创建元组;

  • 元组大部分时候是通过圆括号括起来的;

  • 空元组可以用没有包含内容的圆括号来表示。

 

3、字符串(string)

字符串是由数字、字母、下划线组成的一串字符。字符串不能被修改。

技术分享

技术分享

常用字符串处理函数:

  • 转化为大写:S.upper()

  • 转化为小写:S.lower()

  • 首字母大写:S.capitalize()

  • 是否是首字母大写:S.istitle()

  • 字母是否全是大写:S.isupper()

  • 字母是否全是小写:S.islower()

  • 去掉字符串的左右空格:S.strip()

  • 去掉字符串的左边空格:S.lstrip()

  • 去掉字符串的右边空格:S.rstrip()

  • 计算出现次数:S.count(substr, [start, [end]])

  • 是否全是字母和数字:S.isalnum()

  • 是否全是字母:S.isalpha()

  • 是否全是空白字符:S.isspace()

 

二、映射(字典)

映射中的每个元素都有一个名字,这个名字专业的名称叫键(key)。字典(也叫散列表)是Python中唯一内建的映射类型。

技术分享

 

字典的常用方法:

  • dict.keys():返回字典的key列表 

  • dict.values():返回字典的value列表 

  • dict.get(k,d):返回字典中键值k对应的value值,如果没有则返回默认值d

  • dict.update(dict2):合并两个字典,若有相同键值,则覆盖原来的值

  • dict.setdefault(k,d):创建新的元素‘d‘并设置默认值

 

三、 Array and Dataframe

多维数据结构。在Numpy包和pandas包中详细介绍。

上帝说要有光,于是就有了Python(上)