Python编程:掌握常见数据结构与算法(一)

发表时间: 2020-02-28 11:31

前几天的文章小编都是以介绍爬虫为主,我们也初步了解到爬虫对于生活中的重要性。

而这一篇文章,我们不聊爬虫,选择另一个大家都必须了解的一个知识。

新知识:数据结构与算法。

每一位程序员们,都必须掌握数据结构与算法,就像每一个学习舞蹈的童鞋,基本功扎实了,后面学起来就简单多了。

在这个迅速发展的年代,一切都是快节奏,想要成为一个有深度的程序员,那么精通数据结构和算法是必须的!

如果是一名新手小白的算法能力强到逆天,那真是极好的,你的工资会大大的增长。

如果你是学python的目的是做网站后台,那么这篇文章的内容,你得好好学习,好好去理解。

不过因为知识点涉及有一些多,所以先讲一数据结构基本内容,让大家先和数据结构有一个初步了解,至少要知道他们的名字。数据结构:数据结构是通过某种方式组织在一起的数据元素的集合,这些数据元素可以是数字或字符,甚至可以是其他数据结构。

列表(list)

列表中的元素是可变换的,代表着每一个元素都可以进行修改和删除。

创建一个列表:

eg:list1 = ['1', 'chemistry', 2, 3, 'juan]

注意:要把逗号分隔的不同的数据项使用方括号括起来

取列表中的元素(下标、切片):

切片是Python序列的重要操作之一,适用于列表、元组、字符串、range对象等类型。

list1 = ['1', 'chemistry', 2, 3] print(list1 [1])

结果:chemistry

list1 = ['1', 'chemistry', 2, 3] print(list1 [2:])

结果:[2, 3]

给列表增加元素:append、insert

append是指在列表末尾增加一个数据项,如:

list1append("juan") print(list1)

结果:['1', 'chemistry', 2, 3, 'juan']

insert是指在某个特定位置前面增加一个数据项,比如:

list1insert(0,"周杰伦") print(list1) 结果:['周杰伦', '1', 'chemistry', 2, 3, 'juan']

清空列表中的元素:clear

list=[1,2,3,4,5,6] listclear() print(list)

结果:[]

元祖

元组与列表一样,也是一种序列,唯一不同的是元组不能被修改,这也是我们需要注意的一个部分。

创建:

a = 1, 2, 3

b = 'hello', 'world'

c = (1, 2, 3, 4)

d = ()

e = (1,)

print a, b, c, d, e

新增:

上面讲过不同的是元组不能被修改,。但是我们可以通过+号将两个元祖拼接在一起。

t1 = (1, 2, 3)

t2 = (4, 5, 6)

t1 += t2

print(t1)

删除:

一般在有增有新建,还要有删除,要不然写完之后不能更改,只能重头再来,虽然不可以对元组中的元素值进行删除,但可替换整个元组内容。

n1 = (5, 6, 7, 8)

n2 = (1, 2, 3)

n1 = n2

print(n1)

注意:也能用del tuple 删除整个元组,删除后不可再访问,所以这一步要谨慎。

排序:

在元祖中应该怎么进行排序呢?可用sorted()函数来解决

元组升序排列

number = (1, 5, 2, 3, 4)

new = sorted(number)

print(new)

元组降序排列

new = sorted(number, reverse=True)

print(new)

字典(Dict )

字典不是我们找字词意思的字典,在python中,字典是用来储存的,就像我们的汉字储存在字典中一样。

字典最大的特点,访问速度特别快,不管字典的数据量有多大,他们的访问速度都是一样,不管你是一条还是10万条,只要你内存足够他的访问数据都是一样。

访问字典:

01、使用 dict [ key ] 来获取所需要的值。

dict={'Jack':98,'Mary':85,'David':60}

print(dict['Mary'])

返回的结果:85

print(dict['Bob'])

返回的结果:KeyError:'Bob'

02、提供的一个get方法

dict={'Jack':98,'Mary':85,'David':60}

print(dict.get('Jack'))

返回的结果:98

print(dict.get('Bob'))

返回的结果:None

更新字典:

字典是可变化的,可以随时添加新的key-value,不过key要是已经存在可以用新的value替换原来的value。

dict={'Jack':98,'Mary':85,'David':60}

#把Paul的成绩72加进去

dict['Paul']=72

print(dict)

返回的结果:{'Jack':98,'Mary':85,'David':60,'Paul':72}

#把Jack的成绩替换为100

dict['Jack']=100

print(dict)

返回的结果:{'Jack':100,'Mary':85,'David':60,'Paul':72}

今天小编就写到了数据结构之列表、元祖、字典,若我写的对大家有所帮助,麻烦大家给个鼓励或者关注一下,大家也可以进入python交流群,有许多小伙伴一起交流和探讨问题,也有老师帮你解答。

更多数据结构和算法内容,敬请期待......