Python入门_浅谈数据结构的4种基本类型

Python入门_浅谈数据结构的4种基本类型

转载  2017-05-16   投稿:jingxian    我要评论

下面小编就为大家带来一篇Python入门_浅谈数据结构的4种基本类型。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
数据结构:通俗点说,就是储存大量数据的容器。这里主要介绍Python的4种基本数据结构: 列表、字典、元组、集合。

格式如下:

列表:list = [val1,val2,val3,val4],用中括号;
字典:dict = {key1:val1,key2:val2},大括号,且每个元素是带有冒号的key与val的对应关系组;
元组:tuple = (val1,val2,val3,val4),小括号;
集合:set = {val1,val2,val3,val4},大括号。

1. 列表:

list = [val1,val2,val3,val4]

列表最显著的特征是:

列表中每个元素都是可变的;
列表中的元素都是有序的,即每个元素都有一个位置;
列表可以容纳Python中的任何对象。
接下来看下列表的增删改查。

增:

?
1
2
3
1 list = [ 1 , 'dwd' , 3.6 ]
2 list .insert( 0 , 'Python' )
3 print ( list )

用insert方法可以实现在列表中增加元素。insert方法需要写明增加在哪个位置和增加的内容,新增元素的实际位置是在指定位置元素之前的位置;如果指定的位置不存在,默认会增加在列表末尾。

?
1
2
3
4
5
6
1 list = [ 1 , 'dwd' , 3.6 ]
2 list [ 0 : 0 ] = [ 9 ]
3 # 【0:0】是指在list中的第1个位置插入新元素
4 list [ 3 : 3 ] = [ 'a' ]
5 # 【3:3】是指在list中的第4个位置插入新元素
6 print ( list )

上面说到的这两种方法都是添加单个元素,除了添加单个元素外,还可以添加多个元素,用extend方法来实现。

?
1
2
3
4
5
1 list_a = [ 1 , 'dwd' , 3.6 ]
2 list_b = [ 'Python' , 56 , 'game' ]
3 list_a.extend(list_b)
4 # extend方法用于在列表末尾一次性追加另一个列表中的多个值
5 print (list_a)

 删:

 

?
1
2
3
1 list = [ 1 , 'dwd' , 3.6 ]
2 list .remove( 'dwd' )
3 print ( list )

 删除列表中的元素除了用上面的remove方法来实现外,也可以用del关键字来声明:

?
1
2
3
4
1 list = [ 1 , 'dwd' , 3.6 ]
2 del list[ 0 : 2 ]
3 # 【 0 : 2 】是删除第 1 和第 2 个位置的元素
4 print(list)

改:

?
1
2
3
4
1 list = [ 1 , 'dwd' , 3.6 ]
2 list [ 2 ] = 7
3 list [ 0 ] = 'start'
4 print ( list )

如果想要替换掉列表中的某个元素,可以直接给列表某位置的元素重新赋值,list[2]指list列表中的第3个元素。

查:

列表的索引与之前文章《Python入门_浅谈字符串的分片与索引、字符串的方法》中提到的字符串的索引类似,同样是分正反两种索引方式,可以从前往后,也可以从后往前索引。比如:

?
1
2
3
4
5
6
7
8
9
list = [ 1 , 'dwd' , 3.6 ]
print ( list [ 1 ])
# 打印第2个位置的元素
print ( list [ - 1 ])
# 打印倒数第一个位置的元素
print ( list [: 2 ])
# 打印第1和第2个元素
print ( list [ 1 :])
# 打印第2到最后一个的元素

但如果想查看某个元素的位置,就不适合用这种方式,程序会报错。因为列表只接受用位置进行索引,不可以通过元素来查找位置。

2. 字典:

dict = {key1:val1,key2:val2}

编程世界中的很多概念都源自于生活,字典也是。这种数据结构如我们使用的字典一样,通过“名称—内容”来构建,在Python中每个元素是带有冒号的key与val的对应关系组,习惯称之为键值对。

字典的特征如下:

字典中的元素必须是键值对的形式;

键(key)不可以重复,而值(val)可以重复;

键不可变,无法修改;值可修改,可以是任何对象。

即使字典中有重复的键,打印出来时也只会出现一次。比如:

?
1
2
1 dict = { 'A' : 'art' , 'B' : 'big' , 'C' : 'cute' , 'C' : 'cute' }
2 print ( dict )

接下来看下字典的增删改查。

增:

字典中没有像列表那样有一个现成的insert方法可以使用,但可以通过下面这种方式插入元素,元素默认会插入在最后一个位置。

?
1
2
3
1 dict = { 'A' : 'art' , 'B' : 'big' , 'C' : 'cute' }
2 dict [ 'D' ] = 'dictionary'
3 print ( dict )

上面讲到在列表中增加多个元素时可以使用extend方法来实现,在字典中也有对应的update方法来实现添加多个元素。

?
1
2
3
1 dict = { 'A' : 'art' , 'B' : 'big' , 'C' : 'cute' }
2 dict .update({ 'D' : 'dictionary' , 'E' : 'exam' })
3 print ( dict )

删:

在字典中删除某元素,也可以使用del关键字。

?
1
2
3
1 dict = { 'A' : 'art' , 'B' : 'big' , 'C' : 'cute' }
2 del dict [ 'B' ]
3 print ( dict )

需要注意的是,虽然字典是用大括号的,但在删除时依然使用的是中括号。

改:

如果要修改字典里的元素,直接重新给键赋值即可。

?
1
2
3
1 dict = { 'A' : 'art' , 'B' : 'big' , 'C' : 'cute' }
2 dict [ 'B' ] = 'beyond'
3 print ( dict )

查:

在字典中进行索引时,和删除一样,用的是中括号,中括号中存放字典的键,也就是说对字典元素进行索引时是通过键来索引的。

?
1
2
3
1 dict = { 'A' : 'art' , 'B' : 'big' , 'C' : 'cute' }
2 dict [ 'B' ]
3 print ( dict [ 'B' ])

之前在文章《Python入门_浅谈字符串的分片与索引、字符串的方法》中有提到过字符串的分片,在字典里,字符串是不可以进行分片的。

3. 元组

tuple = (val1,val2,val3,val4)

Python中的元组与列表类似,不同之处在于元组不可以修改,类似于稳固版的列表,因此在列表中可以使用的增删改的方法在元组中是不可以使用的,但是可以对元组中的元素进行索引,和列表类似。

?
1
2
3
4
5
1 tup = ( 1 , 2 , 's' , 7 )
2 print (tup[ 0 ])
3 print (tup[ - 1 ])
4 print (tup[ 1 :])
5 print (tup[: - 2 ])

4. 集合

set = {val1,val2,val3,val4}

集合的概念有点接近于数学上的集合。每个集合中的元素是无序的、不重复的任何对象,我们可以通过集合去判断数据的从属关系,有时还可以通过集合把数据结构中重复的元素减掉。

集合不可以被切片也不能被索引,除了做集合运算之外,集合元素可以被添加和删除。

?
1
2
3
4
5
6
7
set = { 7 , 1 , 8 , 3 , 4 , 5 , 3 }
set .add( 0 )
# 新增元素0
set .discard( 7 )
# 删除掉元素7
print ( set )
# 打印出的集合会从小到达排列,并去重

等后面如果用到集合时,再详细展开集合的运算。

后续会介绍下数据结构的一些小技巧。

操作环境:Python版本,3.6;PyCharm版本,2016.2;电脑:Mac

以上这篇Python入门_浅谈数据结构的4种基本类型就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值