python数据的容器

数据的容器有5种:列表、元组、字符串、字典、集合
列表、元组、字符串是序列,序列有索引、切片、加法和乘法
一、列表[list]
1、列表元素可以是不同的数据类型

[1,2,'world']

2、列表相加其实就是列表合并,列表元素合成一个列表

a=['a',1,'b',3.0]
b=['c','d','e']
print(a+b)
print(a*3)
['a',1,'b',3.0,'c','d','e']
['a',1,'b',3.0,'a',1,'b',3.0,'a',1,'b',3.0]

列表乘法,就是列表种的元素重复几次
3、列表创建:

a=list('abcde')
print(a)
>>>['a','b','c','d','e']
list(range(5))
>>>[0,1,2,3,4]

4、列表最后一个位置的索引为-1
5、列表切片
列表名称[起始索引位置:最后索引位置:步长]
默认步长为1
起始索引位置的值包含在返回结果中,而最后索引位置的值不包含在返回结果中
逆向切片,将步长设为负数,从右向左切片

[-3:-6:-1]

省略起始索引位置,表示从最开始进行切片

[:-2]

将两个索引都省略后,将按原样复制一个列表

[::]

列表的顺序颠倒,则可以使用::-1

[::-1]

6、在指定的索引位置添加数据元素insert()

a=[1,2,3,4]
a.insert(1,'a')
print(a)
>>>[1,'a',2,3,4]

7、在列表尾部加入元素append()
8、在一个列表中添加另一个列表extend()

a=list(range(6))
b=list(range(6,10))
a.extend(b)
print(a)
>>>[0,1,2,3,4,5,6,7,8,9]

9、列表对象的删除
remove()以值的方式对列表进行删除操作,删除的值不做返回
del()以索引位置的方式对列表进行删除操作,删除的值不做返回
pop()以索引位置的方式对列表进行删除操作,删除的值做返回
二、元组(tuple):可以使代码更安全,防止错误赋值导致重要对象的改变
1、元素可以有不同的类型,但元素是不可变
如果元素中的一个元素是list,那么元素不能改变,但列表中的值可以改变
2、

b=tuple('abcd')
>>>('a','b','c','d')

三、字符串
1、可以看作是字符的序列,字符串内的字符不可以改变,可以执行序列的四种操作
四、字典(dict)哈希映射或者相关数组
1、字典是一种大小可变的键值对集,用在需要高速查找的地方
2、字典中的数据元素是无序的,并不一定会按照初始化的顺序排序,不同键所对应的值可以相同,但是字典中的键必须是唯一的
3、

d=dict([(1,'a'),(2,'b'),(3,'c')])
print(d)
>>>{1:'a',2:'b',3:'c'}
d=dict(x1='a',x2='b',x3='c')
print(d)
>>>{'x1':'a','x2':'b','x3':'c'}

4、zip()函数创建字典,将多个序列中的元素配对

a=[1,2,3]
b=['a','b','c']
c=dict(zip(a,b))
print(c)
>>>{1:'a',2:'b',3:'c'}

5、

dict(zip(list('abcdef'),range(1,7)))
>>>{'a':1,'b':2,'c':3,'d':4,'e':5,'f':6}

6、字典的索引是键
通过键索引修改值,如果键不存在就是插入
如果在字典中不存在索引的键,则系统会报错
(a字典中不存在9键就会报错)

a[9]

字典中某值的索引还可以通过get方法,如果字典不包含某个键,可以返回None,或者自己指定的值

print(a.get(1))
print(a.get(9,'-'))
>>>None
>>>-

7、通过in判断是否存在某个键,其语法跟在列表和元组中判断是否存在某个值是相同的

print(5 in a)
print(9 in a)
>>>True
>>>False

8、使用keys()和values()方法获取字典的键或者值,items()返回键值对

a.keys()
a.values()
a.items()

9、字典的删减有三种方法
使用del()函数对单一元素或者整个字典进行删除
使用pop()方法删除单一元素
使用clear()方法清空词典中的所有元素

del a[1]
a.pop(2)
a.clear()

四、集合(set)
集合是一种无序集,它是一组键的集合,不存储值
在集合中,重复的键是不被允许的,集合可以用于去除重复值
集合也可以进行数学集合运算,如并、交、差以及对称差等。

应用:
去重:把一个列表变成集合,就自动去重了
关系测试:测试两组数据之前的交集、差集、并集等关系

集合的创建有两种方式:使用set()函数或者使用大括号{}

shot_ _type_ set = set()
shot_ type_ set ={'Jump Shot', 'Jump Shot', ' Jump Shot', 'Jump Shot', ' Driving Dunk Shot', ' Jump Shot''Layup Shot', 'Jump shot'; 'Jump Shot', ' Running Jump Shot', 'Jump Shot', ' Jump Shot', ' RunningJump Shot', ' Jump Shot' ,'Jump Shot',' Jump Shot' ,'Driving Layup Shot',' Jump Shot',' Jump Shot' ,'Driving Layup Shot'}
print(shot_ type_set)
{'Jump Shot', 'Driving Dunk Shot', 'Layup Shot', 'Driving Layup Shot' ,'Running Jump Shot '}

需要注意的是,创建空集合,必须使用set(),而不是{},因为{}表示创建一 个空的字典
集合可以嵌套tuple和string,不可变的结构,但不能嵌套list、set和dict

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值