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可以使用交集和并集来处理元素