python list不可变_python的可变list和不可变tuple, dict和set

list和tuple

在python中分为可变表和不可变表:

类型

名称

表示方法

可变

list

[]

不可变

tuple

()

list

list是可变表,list内部索引从0开始,正整数是正序的索引,负整数是 反向索引,例如list[-1]和list[-2]分别表示最后一个和倒数第二个元素

list索引越界会报错“list index out of range”

list支持二维和多维,元素可以是list或tuple

list的方法

序号

方法

作用

1

append()

末尾追加

2

insert(index, context)

指定位置插入

3

pop(index)

删除指定位置元素,如果index为空表示删除末尾元素

4

list[i] = context

替换指定位置的元素内容

l1 = [1, 2, 'a']

print(l1)

l1.append('b')

print(l1)

l1.pop()

print(l1)

l1.insert(1, 'c')

tuple

tuple是有序表,也就是内容是不可变的,编程中尽量以tuple代替list

定义一个空的tuple是直接复制空:

t = ();

定义只有一个元素的tuple不能将1写入括号中,要用逗号区分:

t = (1,);

注意如果tuple中间包含的是list,那么改变list的内容是合法的

dict

*dict也就是dictionary,是python中的map,底层也是hash算法来实现。采用空间换时间

d = {'name1':'zhangsang', 1:100}

print(d['name1'])

print(d[1])

if 'name1' in d:

print(d['name1'])

print('Reset name1:lisi')

d['name1'] = 'lisi'

print(d['name1'])

print('get name1 from d:')

d.get('name1')

print('pop name1')

d.pop('name1')

print(d)

#d.get('name1', -1)

#print(d['name1'])

从代码中可以看出来:

dict以key和value配对出现

dict的key是否存在可以用in来判断,或者使用get方法。并且get方法如果没有默认返回None或是自己指定的值

dict使用pop来移除元素

dict的key的选取要使用不可变元素:整数和字符串等

set

set也是不可变的,其中只存放key

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

print('s is a set:', s)

print('add 1 twice:')

s.add(1)

s.add(1)

print('new s is a set:', s)

s1 = set(['a', 'b'])

print(s1)

print('s | s1')

print(s | s1)

print('remove "'"a"'" from s1')

s1.remove('a')

print(s1)

从代码中看:

赋值的方法要注意有set关键字

list是set的输入集合

set不支持重复元素

set可以使用交集和并集来处理元素

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值