zoukankan      html  css  js  c++  java
  • Python 教程阅读笔记(四):数据结构

    列表:

    list.append(x)  将项加到列表最后

    list.extend(L)

    list.insert(i,x)

    list.remove(x)

    list.pop([i])  不指定弹出最后一个

    list.index(x)

    list.count(x)

    list.sort()

    list.reverse()

    从上面可以看出,list可以很方便的用来实现栈的功能

    append pop

    可以用列表来实现队列,但效率不高,python提供了collections.deque 来提供队列的功能

    from collections import deque

    queue=dequeue([])

    queue.append(x)

    queue.popleft()

    列表速构  [ item operation for item in list name if condition] 

    del  listname[:]   切片

    元组由括号()和里面的元素组成,不可交换,但可以可交换对象创建,如列表

    元组打包t = 12345, 54321, 'hello!'

    序列解包x, y, z = t  对任何序列都可成立

    序列数据类型可索引和切片,包括str, bytes, bytearray, list, tuple, range

    集合由{}和里面的元素组成,元素不可重复

    补集语法a = {x for x in 'abracadabra' if x not in 'abc'}

    集合的其他构造法:set('abracadabra')   {'a', 'r', 'b', 'c', 'd'}

            符号    空集创建     单元素创建        元素自动调整      用途                                         操作                                                                支持速构

    列表   []        []                [value]          无                                                                见上面描述

    元组   ()        ()                (value,)         无

    集合   {}      set()            {value}         重复值被删除     测试是否是成员、删除重复值          集合操作,交(|)、并(&)、差(-)、对称差(^)       

    字典   {}       {}              {key:value}                         未排序键值对,判断键是否存在       存,取,删除                                                      是

    字典的其他构造方法:dict(sape=4139, guido=4127, jack=4098)

    dict([('sape', 4139), ('guido', 4127), ('jack', 4098)])

    循环技巧:

    1.字典循环:

    for k, v in knights.items() :

    2.序列循环,获取位置索引

    for i, v in enumerate(['tic', 'tac', 'toe']):

    3.多个序列同时获取

    for q, a in zip(questions, answers):

    4.反向循环

    for i in reversed(range(1, 10, 2)):

    5.排序循环

    for f in sorted(set(basket)):

    while if  可以包含任何操作,而不仅是比较

    in not in 是否值出现在序列中

    is not is 比较对象是否相同

    比较可串连

    赋值不能在表达式中进行

  • 相关阅读:
    Sublime Text 3 安装及常用插件配置
    利用事件对象实现线程同步
    基于UDP(面向无连接)的socket编程
    基于TCP(面向连接)的socket编程
    基于TCP(面向连接)的socket编程
    响应式布局之媒体查询 @media
    (function($){})(jQuery)---Javascript的神级特性:闭包
    noConflict()
    $.extend()与$.fn.extend()
    Web中的宽和高
  • 原文地址:https://www.cnblogs.com/westwind/p/2497154.html
Copyright © 2011-2022 走看看