02_《利用python进行数据分析》第二版 学习笔记

                                                                                                                                                                                                                                                                                                                                                    系列文章目录

提示:仅记录个人的学习心得,欢迎交流

(占位,以后再补 ……………………)


前言

对python语言基础中记忆不牢的进行总结,希望自己能坚持下去!为了学习计算机视觉做准备!

本次介绍本书的第三章的内容。


一、数据结构和序列

1.1 元组

tuple()函数可以将任意序列或者迭代器转换为元组

元组存储的对象自身是可变的,但是元组一旦创建,各个位置上的对象是无法修改的;但是若元组中的一个对象是可变对象,可以在其内部进行修改。 

元组拆包:将元组型的表达式赋值给变量通常Python会进行拆包

tup = 1, 2, (3, 4)
a, b, c = tup
print(c)
>>> (3, 4)

a, b, c, d = tup
print(c)
>>> 3

a, *_ = tup
print(_)
>>> [2, 3, 4]

1.2 列表

列表的长度是可变的,内容也是可以修改的。

列表增加和移除元素的方法:

list = ['foo', 'peekabbo', 'baz']

"""append方法用于添加元素到列表的尾部"""
list.append('dwarf')
>>> ['foo', 'peekabbo', 'baz', 'dwarf']

"""insert方法将元素插入到指定的列表位置"""
list.insert(1, 'red')
>>> ['foo', 'red', 'peekabbo', 'baz', 'dwarf']

"""pop方法将特定位置的元素移除并返回"""
a = list.pop(2)
>>> peekabbo
list
>>> ['foo', 'red', 'baz', 'dwarf']

"""remove方法可以移除第一个符合要求的值并移除它"""
list.append('foo')
>>> ['foo', 'red', 'baz', 'dwarf', 'foo']
list.removee('foo')
>>> ['red', 'baz', 'dwarf', 'foo']

'red' in list # 用in判断列表是否包含某个元素
>>> True


"""extend方法可以向该列表添加多个元素"""
x = [2, None, 'foo']
x.extend([7, 8, (2, 3)])
>>> [2, None, 'foo', 7, 8, (2, 3)]
# extend方法添加元素的效率要比'+'效率要高

"""sorted方法返回一个根据任意序列新建的已排序列表"""
sorted([7, 1, 2, 6, 0, 3, 2])
>>> [0, 1, 2, 2, 3, 6, 7]

列表的切片的基本形式:start : stop  (所取的切片都是包含 'start' 而不包含 'stop'的)

start和stop是可以省略的,默认传入序列的起始位置或者结束位置

负索引可以从序列的尾部进行索引(下标都是从0开始)

步进值可以在第二个冒号后使用

seq = [7, 2, 3, 7, 5, 6, 0, 1]
seq[1: 5]
>>> [2, 3, 7, 5]

seq[-6: -2]
>>> [3, 7, 5, 6]

"""当需要对列表和元组进行反转时候可令步进值为-1"""
seq[::-1]
>>> [1, 0, 6, 5, 7, 3, 2, 7]

"""reversed方法将序列的元素倒序排列"""
reversed(seq)
>>> [1, 0, 6, 5, 7, 3, 2, 7]
# reversed是一个生成器,必须有实例化对象才可以反转否则会失败

1.3 字典(哈希表或者是关联数组){键:值}

字典的一些方法:

d1 = {'a': some value, 'b': [1, 2, 3, 4], 7: 'an integer'}
d1[5] = 'some value'
>>> {'a': some value, 
     'b': [1, 2, 3, 4],
      7: 'an integer',
      5: 'some value'
}


"""del关键字用来按照‘键’来删除字典中的元素"""
del d1[5]
>>> {'a': some value, 
     'b': [1, 2, 3, 4],
      7: 'an integer'
}


"""pop方法用来按照‘键’来删除字典中的元素,并返回删除元素对应的‘值’"""
ret = d1.pop(7)
print(ret)
>>> 'an integer'
print(d1)
>>> {'a': some value, 
     'b': [1, 2, 3, 4]
}


""".keys和.valus方法可以提供字典键、值的迭代器"""
list(d1.keys())
>>> ['a', 'b']
list(d1.values())
>>> ['some values', [1, 2, 3, 4], 'an integer']

"""
   update方法可以合并两个字典;
   对于原字典中存在的键,若update追加的数据中也有同样的键,则会被覆盖.
"""
d1.update({'b': 'foo', 'c': 12})
>>> {'a': 'some value', 'b': 'foo', 'c': 12}

字典的键值必须是不可变的对象,例如是标量类型(整数、字符串)和元组。

hash函数可以检查一个对象是否可以哈希化(是否可以用作字典的键)。

1.4 集合

 集合是一种无序且元素唯一的容器,像字典但是没有键值。

集合的一些方法:

"""创建集合"""
set([2, 2, 2, 1, 3, 3])
>>>{1, 2, 3}
{2, 2, 2, 1, 3, 3}
>>>{1, 2, 3}

"""集合的运算"""
a = {1, 2, 3, 4, 5}
b = {3, 4, 5, 6, 7, 8}
# 集合的联合的两种方法
a.union(b)
{1, 2, 3, 4, 5, 6, 7, 8}
a | b 
{1, 2, 3, 4, 5, 6, 7, 8}

# 集合的交集
a.inteersection(b)
{3, 4, 5}
a & b
{3, 4, 5}


# 其他的一些函数(x是参数)
a.add(x) # a中添加x
a.clear() # 将a清空
a.remove(x) # 从a中移除x
a.pop() # 移除任意元素,是空则抛出KeyError
a.update(b) # 将a的内容设置为a和b的并集
# 其他的函数在书的P68

集合的元素必须是不可变的,若想包含列表型元素必须先转化为元组。tuple([list])

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值