笔记5:数据结构

数据结构

”’列表的三个特性

1、列表的元素可以改变

2、列表的元素是有序的

3、列表可以容纳任何对象

”’

fruit = [‘pineapple’,’pear’]

fruit.insert(1,’grape’)  #增加元素

print(fruit)

fruit.remove(‘pear’)  #删除元素

print(fruit)

fruit[0] = ‘bananae’  #改元素

print(fruit)

运行结果:

[‘pineapple’, ‘grape’, ‘pear’]

[‘pineapple’, ‘grape’]

[‘bananae’, ‘grape’]

”’

字典特征:

1、字典中数据必须是以键值对的形式出现

2、逻辑上讲,键是不能重复的,而值可以重复

3、字典中的键是不可以变的,也就是说不能修改;而值是可以变的,可修改的,可以是任何对象

”’

Dic_code={‘bidu’:’baidu’,’sina’:’sina’}

print(Dic_code)

Dic_code[‘youku’] =’youku’#增加元素

print(Dic_code)

Dic_code.update({‘fb’:’facebook’,’tsla’:’tsla’})#增加多个元素

print(Dic_code)

del Dic_code[‘youku’]#删除元素

print(Dic_code)

运行结果:

{‘sina’: ‘sina’, ‘bidu’: ‘baidu’}

{‘sina’: ‘sina’, ‘bidu’: ‘baidu’, ‘youku’: ‘youku’}

{‘sina’: ‘sina’, ‘bidu’: ‘baidu’, ‘tsla’: ‘tsla’, ‘fb’: ‘facebook’, ‘youku’: ‘youku’}

{‘sina’: ‘sina’, ‘bidu’: ‘baidu’, ‘tsla’: ‘tsla’, ‘fb’: ‘facebook’}

‘元组,可以理解为固定版的列表,因为元素值不可变。但是可以索引查看’

letters=(1,2,3)

print(letters)

运行结果:

(1, 2, 3)

小技巧:如果要改变元组的值,可以把元组转换为列表,在列表中改完后,再转换回元组。

‘集合’\

‘1、每个集合中的元素是无序的、不重复的任意对象’\

‘2、通过集合判断数据的从属关系’\

‘3、通过集合把数据结构中重复的元素减掉’

例:

a_set={1,2,3}

a_set.add(4)#集合增加元素

print(a_set)

a_set.discard(2)#集合删除元素

print(a_set)

运行结果:

{1, 2, 3, 4}

{1, 3, 4}

‘数据结构技巧’

技巧1:

num_list= [5,2,4,3,1]

print(sorted(num_list),num_list)  #对列表排序(不改变列表顺序,返回排序结果)

print(sorted(num_list,reverse=True)) #对列表逆向排序

运行结果:

[1, 2, 3, 4, 5] [5, 2, 4, 3, 1]

[5, 4, 3, 2, 1]

技巧2:

‘列表解析式’

例:

import time

a= []

t0=time.clock()

foriinrange(1,20000):

a.append(i)

print(time.clock()-t0,’seconds process time’)

t0=time.clock()

b= [i for i in range(1,20000)]  #

print(time.clock()-t0,’seconds process time’)

运行结果:

0.004409208407899885 seconds process time

0.0010066217236152017 seconds process time

技巧3:

‘字典解析式’

d={i:i+1 for i in range(4)}

print(d)

g={i:j.upper() for i,j in zip(range(1,6),’abcde’)}

print(g)

运行结果:

{0: 1, 1: 2, 2: 3, 3: 4}

{1: ‘A’, 2: ‘B’, 3: ‘C’, 4: ‘D’, 5: ‘E’}

技巧4:

‘循环列表时获取元素的索引’

letters= [‘a’,’b’,’c’,’d’,’e’]

for num,letter in enumerate(letters):

print(letter,’ is ‘, num)

    原文作者:Think4doing
    原文地址: https://www.jianshu.com/p/9c0acfa01d2d
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞