python list append tuple_python创建list、tuple、dict、set

Python内的一种数据类型是列表:list。

list是一种有序的集合,可以随时添加和删除其中的元素。

list是数学意义上的有序集合,也就是说,list中的元素是按照顺序排列的。

构造list非常简单,按照上面的代码,直接用[ ]把list的所有元素都括起来,就是一个list的对象。

通常,我们会把list赋值给一个变量,这样,可以通过变量来引用list: >>>name = ['a','b']

同事,list中所包含的元素不要求是同一种数据类型。

list添加新元素----append,insert

>>> L = ['andy','baby','LiLi']

>>>L.append('Paul')

>>>print  L

['andy','baby','LiLi','Paul']

append()总是把新元素添加到list的尾部。

如需添加到第一位,则

L.insert(0,'Paul']

将Paul添加到索引为0的位置,之前的索引全部向后自动后移一位。

list删除元素

pop()方法总是删除最后一位元素,并且返回这个元素

pop(2),删除索引为2的元素

list替换元素

>>> L = ['Adam', 'Lisa', 'Bart']

>>> L[2] = 'Paul' >>> print L L = ['Adam', 'Lisa', 'Paul']

tuple是另一种有序的列表,中文翻译为“元组”。tuple和list非常相似,但是tuple一旦创建完毕就不能修改了

t = ('a','b','c')

我们已经知道。list和tuple可以用来表示顺序集合,例如,班里同学的名字['Adam', 'Lisa', 'Bart']

或者考试的成绩列表:[95,85,59]

但是要根据名字找到对应的成绩,用两个list表示就不方便。

如果把名字和分数关联起来,组成类似的查找表:

Adam-->95, Lisa-->85, Bart-->59

给定一个名字,就可以直接查到分数。

Python提供dict,用dict表示“名字”--“成绩”的查找表如下:d = {'Adam':95,

'Lisa':85,

'Paul':59} #用花括号表示,最后一个key的value逗号可以省略

我们把名字称为key,对应的成绩称为value,dict就是通过key来查找value。

由于dict也是集合,len()函数计算任意集合的大小。len(d)表示为3.dict的访问

可以简单地使用d[key]的形式来查找对应的value,这和list很像,list应用索引查找对应的元素

>>> print d['Adam']

95

>>> print d['Paul']

Traceback (most recent call last):

File "index.py", line 11, in

print d['Paul']

KeyError: 'Paul'

#如果key不存在,报错,一是,可先进行判断,如果不存在自然不会执行,从而避免错误

if 'Paul' in d:

print d['Paul']

二是使用dict本身提供的一个get方法,在key不存在的时候,返回None:

>>>print d.get('Paul')

None

dict的特点是查找快速,不像list一样随着元素增加而逐渐下降

dict占用内存大,还会浪费很多内容

dict是按key查找,所以,在一个dict中,key不能重复

dict的第二个特点三key-value序对是没用顺序的

dict中key的元素是必须不可变的,Python的基本类型如字符串、整数、浮点数都是不可变的

都是可以作为key。但是list是可变的,就不能作为key

有的时候,我们只想要dict的key,不关心value,目的是保证这个集合的元素不会重复

set可以完成这一要求,set持有一系列元素,set的元素没有重复,而且三无序的。

创建set的方式是调用set()并传入一个list,list的元素将作为set的元素

>>>s = set(['A','B','C'])

>>>print s

set(['B','A','C'])

>>> s = set(['A', 'B', 'C', 'C'])

>>> print s

set(['A', 'C', 'B'])

>>> len(s)

3

添加元素时,用set的add()方法:

s.add(D)

删除set的元素时,用set的remove()方法

如果删除的元素不存在,则会报错,所以用add()可以直接添加,而remove()前需要判断。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值