python list tuple dict set_python基础:list和tuple,dict和set

python基础

list和tuple是Python内置的有序集合,一个可变,一个不可变。根据需要来选择使用它们

使用key-value存储结构的dict在Python中非常有用,选择不可变对象作为key很重要,最常用的key是字符串

list

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

s=['L','O']

用 len() 函数可以获得list元素的个数

用索引来访问list中每一个位置的元素,记得索引是从0开始的

如果要取最后一个元素,除了计算索引位置外,还可以用 -1 做索引,直接获取最后一个元素

ist是一个可变的有序表,所以,可以往list中追加元素到末尾:

>>>s.append('A')

把元素插入到指定的位置,比如索引号为1的位置

>>>s.instert(1,'B')

删除list元素,用pop()方法:

>>>s.pop()

# 删除list末尾的元素

>>>s.pop(1)

# 删除指定位置的元素

list元素也可以是另一个list

>>>p=['N',s]

p[1][1]="B"

# 二维数组

tuple(元组)

tuple和list非常类似,但是tuple一旦初始化就不能修改

代码更安全。如果可能,能用tuple代替list就尽量用tuple

>>>s=('a','b','c')

要定义一个只有1个元素的tupleq=(1,)

只有1个元素的tuple定义时必须加一个逗号

q=(1)按小括号进行计算

“可变的”tuple"

>>>t=('a','b','c',['A','B'])

>>t[3][0]='N'

>>>t

('a','b','c',['N','B'])

tuple所谓的“不变”是说,tuple的每个元素,指向永远不变

函数返回多个值时,实质上返回的是一个tuple,在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,所以,Python的函数返回多值其实就是返回一个tuple

dict

dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度

d = {'a': 10, 'B': 20}

通过key放入:>>> d['C'] = 30

通过in判断key是否存在:

>>> 'd' in d

False

>>> 'c' in d

True

dict的key必须是不可变对象

set

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key

s = set([1, 2, 3])

通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果

通过remove(key)方法可以删除元素

>>> s=set([1,2,2,3,3,4])

>>> s

{1, 2, 3, 4}

>>> s.add(6)

>>> s

{1, 2, 3, 4, 6}

>>> n=set(['a','a','b'])

>>> n

{'b', 'a'}

>>> n.add('c')

>>> n

{'c', 'b', 'a'}

>>> s.add('c')

>>> s

{1, 2, 3, 4, 6, 'c'}

>>> s.remove('c')

>>> s

{1, 2, 3, 4, 6}

set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作

>>> s & n

{2}

>>> s | n

{1, 2, 3, 4, 6, 'a', 'b', 'c'}

set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等

list放入set会报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值