python3学习之路(1)

来源:互联网 发布:时间序列数据回归分析 编辑:程序博客网 时间:2024/06/04 20:08

奋斗首先声明一点这是我的第一篇博客,我主要想和大家分享一下我python3.5的学习历程!

关于字符串,数字,变量概念性的理解先跳过,我觉得列表,元组,字典,集合这些python容器需要想入门的同学仔细研究琢磨!

先聊聊列表:list():可以将其他数据类型转换成列表(list((1,2,3,4,5))),list("hello"),你也可以创建复杂的列表比如a_list=[[1,2,3],[1,2,3],[1,2,3]]

[offset]:也就是段偏移量(要注意负偏移量!)我们可以通过[offset]来修改列表元素,比如a_list[0]=[1,2,3,4,5,6]

append():可以添加元素到列表的尾部!比如a_list.append(”hello“)

extend():b_list=[[1,2,3,4,5],[1,2,3,4,5],["hello"]],a_list.extend(b_list)可以合并b列表到a列表中!

insert():append()只能将元素添加到尾部!但是insert()可以将元素插入到列表的任意位置,你只需要指定偏移量!

del:使用它可以删除指定位置的元素!例如del a_list[0]

remove():可以删除具有指定值得列表元素!例如a_list.remove([1,2,3])

pop():获取并删除指定位置的元素!append(),pop()构成了LIFO!

index():查询具有特定值得元素的位置!

count():可以记录特定值出现的次数

join():join()就是split()的逆向过程!

sort():sort()不仅仅排序,还改变原列表的内容!而sorted()不会改变原列表的内容!

len():len(a_list)可以返回这个你创建的的列表的长度!

*注意使用=赋值,使用copy()复制这应该算是常识吧!*

接下来聊聊元组:元组说白了就是一个常量的列表,这意味着元组创建之后无法修改!

既然列表如此灵活,那么为什么还要用元组呢?

1.元组占用的空间小!

2.你不会因为意外修改元素而后悔!

3.可以将元组用作字典的键!

4.命名元组可作为对象的迭代!

5.函数的参数是以元组形式传递的!

字典:可变的无序键值对

{}:(key,value)创建字典!使用dict()转换为字典!

update():可以用来合并字典,a_dict={'a':123,'b':123,'c':123},b_dict={'d':123},a_dict.update(b_dict),print(a_dict)如果待添加的字典和旧的字典有冲突那么新的会覆盖旧的!

del:使用del删除具有指定键的字典元素!del a_dict['d']

clear():使用它将会删除所有元素!a_dict.clear()你会发现a_dict中毛都没有了!你还可以使用in判断是否存在'aaaaa' in a_dict结果False

[key]:使用它来获取元素,a_dict={'a':123213},a_dict['a']通过这样来获取此键所对应的值!

keys():使用它可以获取所有键!如下:

>>> a_dict={'a':123123123,'b':1332421334,'c':1231233432}
>>> print(a_dict)
{'b': 1332421334, 'a': 123123123, 'c': 1231233432}
>>> a_dict.keys()
dict_keys(['b', 'a', 'c'])

values():可以获取所有值

>>> a_dict.values()
dict_values([1332421334, 123123123, 1231233432])

items():可以获取所有的键值对!

>>> a_dict.items()
dict_items([('b', 1332421334), ('a', 123123123), ('c', 1231233432)])

*字典同样通过=来赋值,使用copy()进行复制*

观众朋友们还有集合,来聊聊集合吧,集合就像扔了值只剩下键的字典一样!键与键之间是不允许重复的!(算常识了吧)

set():你可以使用它将其他类型转换为集合!(重复的元素会丢失)

>>> set('HelloWorld!')
{'e', 'd', 'r', 'H', '!', 'W', 'o', 'l'}

通过这些数据结构我们将来能够构建更为复杂的数据结构!

最后我们看一个好玩的函数,从一个集合中查找最大或者最小的N个元素!import heapq

>>> nums =[1,2,332,4,45,63,4,34,5,556]

>>> print(heapq.nlargest(3,nums))

>>> print(heapq.nsmallest(3,nums))

>>> top_web=[{'name':'IBM','shares':100,'price':91.1}, {'name':'FB','shares':50,'price':543} , {'name':'IBM','shares':70,'price':222.1}]

>>> cheap=heapq.nsmallest(3,top_web, key = lambda s:s['price'])

>>> expensive=heapq.nlargest(3.,top_web,key =lambda s:s['price'])

>>> print(expensive)

[{'price': 543, 'shares': 50, 'name': 'FB'}, {'price': 222.1, 'shares': 70, 'name': 'IBM'}, {'price': 91.1, 'shares': 100, 'name': 'IBM'}]

>>> print(cheap)

[{'price': 91.1, 'shares': 100, 'name': 'IBM'}, {'price': 222.1, 'shares': 70, 'name': 'IBM'}, {'price': 543, 'shares': 50, 'name': 'FB'}]





















0 0
原创粉丝点击