线性的数据结构

数据的处理函数:round(),四舍六入五取偶,floor()向下取整,ceil()向上取整,//整除且向下取整,mix()取最小值,max()取最大值,
进制函数 返回值是字符串:bin()取二进制,oct()取八进制,hex()取十六进制,
列表list:一个有顺序排列整齐的队伍,可索引,线性的数据结构,用[ ]表示,列表是可变的,
列表增加,插入元素:append列表尾部追加元素,extend()将可迭代对象的元素追加进来,
列表删除元素:remove(value)从左至右查找第一个匹配value的值,移除该元素,reverse():将列表元素反转,sort:对列表元素进行排序,默认升序,copy()复制拷贝,随机数:random模块,choice(seq)从非空序列的元素中随机挑选一个元素,
元组tuple:一个有顺序的元素组成的集合,用()表示,元组是不可变的,支持索引,是只读的,所以增,改,删方法都没有,
冒泡法:属于交换排序,两两比较大小,交换位置,结果分为升序和降序排列,
简单的例子:
nums = [1,9,8,5,6,7,4,3,2]
length = len(nums)
for i in range(length):
for j in range(length-1-i):
if nums[j] > nums[j+1]:
tmp = nums[j]
nums[j] = nums[j+1]
nums[j+1] = tmp
打印杨辉三角:
print(nums)
n = 12
row = [1] n
for i in range(n):
offset = n - i
z = 1
for j in range(1, i//2+1):
val = z + row[j]
z = row[j]
row[j] = val
if i != 2
j:
row[-j-offset] = val
print(row[:i+1])
字符串:一个个字符组成的有顺序的序列,是字符的集合,用单,双,三引号引住的字符序列,是不可变的,支持索引,可迭代,“string”.join将可迭代对象连接起来,用string作为分隔符,字符串分割:split:将字符串按照分隔符分割成若干字符串,并返回列表,从左至右,partition:将字符串按照分隔符分割成2段,返回这2段和分隔符的元组,从右向左,len()返回字符串的长度,即字符的个数,count()统计子串出现的次数,
bytes:不可变字节序列,bytearray:可变的,字节数组,

集set
约定:set翻译为集合,collection翻译为集合类型,是一个大概念,
set:可变的,无序的,可迭代的,去重的,元素的集合,
set的元素:set的元素要求必须可以hash,
目前学过的不可hash的类型有list,set, 元素不可以索引,
set增加:add(elem)增加一个元素到set中,如果元素存在,什么都不做,
update(others):合并其他元素到set集合中来,参数others必须是可迭代对象,就地修改,
set删除:remove(elem)从set中移除一个元素,元素不存在,抛出KeyError异常,
discard(elem):从set中移除一个元素,元素不存在,什么都不做,
pop()移除并返回任意的元素,空集返回KeyError异常,
clear():移除所有元素,
set修改,查询:
修改:要么删除,要么加入新的元素,
查询:非线性结构,无法索引,
遍历:可以迭代所有元素,
成员运算符:in和not in判断元素是否在set中,
set和线性结构:
线性结构的查询时间复杂度是O(n),即随着数据规模的增大而增加耗时,
set,dict等结构,内部使用hash值作为key,时间复杂度可以做到O(1),查询时 间和数据规模无关,
可hash:
数值型int,float,complex,
布尔型True,False,
字符串string,bytes
tuple None 以上都是不可变类型,成为可哈希类型,hashable,
set的元素必须是可hash的,
集合:基本概念:
全集:所有元素的集合,例如实数集,所有实数组成的集合就是全集,
子集subset和超集superset:一个集合a所有元素都在另一个集合b内,a是b的子集,b是a的超集,
真子集和真超集:a是b的子集,且a不等于b,a就是b的真子集,b是a的真超集,
并集:多个集合合并的结果
交集:多个集合的公共部分
差集:集合中除去和其他集合公共部分
集合运算:
并集:将两个集合a和b的所有元素合并到一起,组成的集合称作集合a与集合b的并集,union(
thers):返回和多个集合合并后的新的集合, 字符串string,bytes
tuple None 以上都是不可变类型,成为可哈希类型,hashable,
set的元素必须是可hash的,
集合:基本概念:
全集:所有元素的集合,例如实数集,所有实数组成的集合就是全集,
子集subset和超集superset:一个集合a所有元素都在另一个集合b内,a是b的子集,b是a的超集,
真子集和真超集:a是b的子集,且a不等于b,a就是b的真子集,b是a的真超集,
并集:多个集合合并的结果
交集:多个集合的公共部分
差集:集合中除去和其他集合公共部分
集合运算:
并集:将两个集合a和b的所有元素合并到一起,组成的集合称作集合a与集合b的并集,union(*thers):返回和多个集合合并后的新的集合,
| 运算符重载:等同union,

猜你喜欢

转载自blog.51cto.com/13887552/2375214