美文网首页
2019-10-10-2

2019-10-10-2

作者: jxc1 | 来源:发表于2019-10-11 09:45 被阅读0次

数据结构

1.列表

  • 方法大赏
    list.append(x)
    list.insert(i,x)
    list.remove(x) 移除第一个x,没有会抛出异常
    list.clear()
    list.pop([i]) 返回的是弹出的元素
    list.index(x[,start[,stop]])
    list.count(x)
    list.extend(itereble) 使用可迭代对象中的所有元素来扩展列表
    list.sort(key=None,reverse=False)
    list.reverse()
    list.copy() 返回列表的浅拷贝

  • 列表作为栈使用十分高效,作为队列十分低效
    可以用deque实现队列

  • 列表推导式
    [表达式 零个或多个for和if语句 ] 得出一个新列表,各语句与表达式之间空格隔开
    [x for x in range(10) if x%2==0]
    =》[0,2,4,6,8]
    [(x,y) for x in [1,2,3] for y in [3,4,2] if x!=y]
    =>[(1,3),(1,4),(2,3),(2,4),(3,4),(3,2)]
    列表推导式可以使用复杂的表达式和嵌套函数
    from math import pi
    [str(round(pi,i)) for i in range(1,6)]
    ['3.1', '3.14', '3.142', '3.1416', '3.14159']

嵌套的列表推导式

matrix=[
  [1,2,3],
  [4,5,6],
  [7,8,9]
]
#交换行列
[[row[i] for row in matrix] for i in range(4)]
#for i in range(4)相当于外层循环

zip函数,创建一个迭代器,实现行列交换,但数组中的每个元素都是元组

2. del 语句

a=[1,2,3]
del a[0]
del a[1:]
del a[0:1]
del a 删除a变量

3.元组和序列

  • tuple,元组
    tuple1=1,2,3
    t=(1)==>得到的是1,不是(1),通过t=1,来获得一个元素的元组
    一旦初始化就不能修改,但是可以让元组中的元素是可变对象,比如列表、字典。
t1=1,2,3
t2=t1,4
#t2是((1,2,3),4)
x,y,z=t1

4.集合

  • 不重复元素组成的无序的集,基本用法包括成员检测和消除重复元素。
    创建:a=set('1234567')
    a={1,2,3,4,5,6,7}
    创建空集合:不能用a={}
    用set创建的集合是可变的,frozenset不可变。
    传入set([iterable])的参数必须是可迭代的
    集合也支持列表推导式

相关文章

  • 2019-10-10-2

    数据结构 1.列表 方法大赏list.append(x)list.insert(i,x)list.remove(x...

网友评论

      本文标题:2019-10-10-2

      本文链接:https://www.haomeiwen.com/subject/mizopctx.html