[关闭]
@2017libin 2019-06-20T17:32:00.000000Z 字数 2164 阅读 59

组合类型

python


1. 序列类型

操作符 描述
x in/not in s 判断x在不在序列s中,返回bool
s + t 相同序列拼接
s*n。n*s 序列复制
s[j] 序列索引
s[i:j[:k]] 分片索引
len(s) 返回元素个数
min(s),max(s) 返回最小最大元素
index(x[,i[,]j]) 返回x在[i,j)中第一次出现的位置
s.count(x) 返回x出现的次数
<,<=,>,>=,==,!= 逐个元素进行比较(大写字母小于小写字母),返回bool

1. tuple

  1. t = (1, 2, 3) #元组采用()和,来表示
  2. t = (1, ) #当只有一个元素时,逗号不能缺省
  3. t = 1, 2, 3 #()可以缺省
  4. t = tuple(1, 2) #采用tuple()创建

2. list

  1. ls = [] #创建一个空列表
  2. ls = [1, 2, 3] #创建一个列表
  3. ls = list(1, 2) #使用list()创建
  4. ls = list(s) # ls = [s[0], s[1], s[2] ..],s是一个序列
函数 描述
ls1[i:j[:k]]=ls2 字符串替换,长度不一定要对应
del ls[i:j[:k]] 删除[i,j)字符串
ls1.extend(ls2) ls1 = ls1 + ls2
ls.append(x) ls末尾增加元素x
ls.clear() 删除ls所有元素
ls.coyp() 返回一个新列表,生成所有元素
ls.insert(i,x) 在第i位置增加x
ls.pop() 返回末尾元素并删除
ls.remove(x) 删除第一次出现x元素
ls.sort() ls元素升序,ls被改变
ls.reverse() ls元素逆置,ls被改变

2. 集合类型

  1. v = {1, 2, 3} #用{}构成
  2. v = set(iterable) #iterable中元素构成集合,当然相同的元素会被过滤掉。
操作符 描述
s - t或s.difference(T) 返回一个新集合,元素在s中但是不在t中
s -= t或s.difference_update(t) 更新s,元素同s-t一样
s&t或s.intersection(t) 返回一个新集合,元素同时在s和t中
s&=t或s.intersection_update(t) 更新s,元素同s&t一样
s^t或s.symmetric_difference(t) 返回一个新集合,元素不是s和t的共同元素
s^=t或s.symmetric_difference_update(t) 更新s,元素同s^t一样
s|t或s.union(t) 返回一个新集合,包括s和t中的所有元素(当然相同的过滤掉)
s|=t或s.update(t) 更新s。元素同s|t一样
s<=t或s.issubset(t) 如果s等于t或者是t的子集,返回True,否则返回False
s>=t或s.issuperset(t) 如果s等于t或者是t的超集,返回True,否则返回False
函数 描述
s.add(x) 如果x不在则添加
s.clear() 清空
s.copy() 返回一个s的拷贝
s.pop() 随机删除一个元素,s为空在报错
s.discard(x) 移除x,x不在不会报错
s.remove(x) 移除x,x不在报错
s.isdisjoin(t) s和t没有相同元素返回True,否则返回False
len(s) 返回集合s元素个数
x in s 如果x是s的元素,返回True,否则返回False
x not in s 如果x不是s的元素,返回True,否则返回False

3. 映射类型

  1. s = {'a':'A', 'b':2} #使用{}和<key>:<value>创建,注意这里的string类型的双(单)引号不能少
  2. s = dict(1='a', 2='b') #这里key的双(单)引号必须少,value的双(单)引号不能少
  3. keys = ['a', 'b']
  4. values = [1, 2]
  5. s = dict(zip(keys, values)) #使用zip打包
函数 描述
len(d) 返回键值对个数
d.values 返回所有值信息的列表
d.keys 返回所有键信息的列表
d.items 返回所有键值对元组的列表
d.get(key, default=None) 键存在返回键值,否则返回default
d.pop(key,default=None) 键存在返回键值并删除键值对,否则返回默认值
d.popitem() 随机算则一个键值对以元组的形式返回,并且删除该键值对
d1.update(d2) 增减d2的键值对,会覆盖d1原有键值对
d.clear() 清空键值对
del d[key]或del d 删除d中键值为key的键值对或者删除整个字典
in d 如果键值在字典返回True,否则返回False
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注