python数据结构及部分语法笔记

python data structure

List(列表)、Tuple(元组)、Dictionary(字典)、Set(集合)和Sequences(序列)

list

无固定长度,可变。

  • list的部分截取:
  • animals = "catdogfrog"
    cat  = animals[:3]   # The first three characters of animals
    dog  = animals[3:6]  # The fourth through sixth characters
    frog = animals[6:]   # From the seventh character to the end

  • list元素的搜索:
    animals = [“aardvark”, “badger”, “duck”, “emu”, “fennec fox”]
    duck_index = animals.index(“duck”)
  • list元素的插入:
    animals.insert(1, “dog”) #insert “dog” at 1 and move others by one
    print animals
  • list元素的排序:
    list.sort()
  • list删除:
    常用 的三个版本:
    list.pop(i) #删除的元素是第i+1个,返回元素
    list.remove(i) #删除的元素是第i个,返回下标
    del list[i] #不返回任何元素
  • Dictionary

    无固定长度,可变,存储键值对。
    residents = {‘Puffin’ : 104, ‘Sloth’ : 105, ‘Burmese Python’ : 106}
    print residents[‘Puffin’] # Prints Puffin’s room number

  • 加入新的元素:
    menu = {} # Empty dictionary
    menu[‘Chicken Alfredo’] = 14.50 # Adding new key-value pair
  • 删除元素:
    del menu[‘Chicken Alfredo’]
  • 存储不同类型的键值对:
  • my_dict = {
        "fish": ["c", "a", "r", "p"],
        "cash": -4483,
        "luck": "good"
    }
    print my_dict["fish"][0]
    Tuple

    不可变,功能不如List强大。
    来自A Byte Of Python的例子:

    zoo = ('python', 'elephant', 'penguin') # remember the parentheses are
    optional
    print('Number of animals in the zoo is', len(zoo))
    new_zoo = ('monkey', 'camel', zoo)
    print('Number of cages in the new zoo is', len(new_zoo))
    print('All animals in new zoo are', new_zoo)
    Set

    它不关注元素的顺序,不关心元素出现的次数,仅仅考虑是否出现,以及集合的交等操作。
    来自A Byte of Python的例子:

    >>> bri = set(['brazil', 'russia', 'india'])
    >>> 'india' in bri
    True
    >>> 'usa' in bri
    False
    >>> bric = bri.copy()
    >>> bric.add('china')
    >>> bric.issuperset(bri)
    True
    >>> bri.remove('russia')
    >>> bri & bric # OR bri.intersection(bric)
    {'brazil', 'india'}
    Sequences

    序列,和元组类似。注意下标的灵活应用
    shoplist = [‘apple’, ‘mango’, ‘carrot’, ‘banana’]
    print(‘Item -2 is’, shoplist[-2]) #carrot

    shoplist[::2] #[‘apple’, ‘carrot’] shoplist[0] , shoplist[2] 2为步长

    shoplist = [‘apple’, ‘mango’, ‘carrot’, ‘banana’]
    mylist = shoplist #引用
    mylist = shoplist[:] #copy

    其他语法笔记

    dir 函数来列出模块定义的标识符。
    标识符有函数、类和变量。当你为 dir() 提供一个模块名的时候,它返回模块定义的名称列表。如果不提供参数,它返回当前模块中定义的名称列表。

    >>> dir()
    ['__builtins__', '__doc__', '__name__', '__package__']
    >>> a=12
    >>> dir()
    ['__builtins__', '__doc__', '__name__', '__package__', 'a']

    查看方法或者类的属性:

    >>> dir(print)
    ['__call__', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', 
    '__le__', '__lt__', '__module__', '__name__', '__ne__', '__new__', '__qualname__', '__reduce__', '__reduce_ex__',
    '__repr__', '__self__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__text_signature__']

    数字转字符串:
    print “The value of pi is around ” + str(3.14)

    python读写文件,可自动关闭。
    with open(“text.txt”, “w”) as textfile:
    textfile.write(“Success!”)

    help(str) #查看string帮助
    mylist = [‘Brazil’, ‘Russia’, ‘India’, ‘China’]
    print(delimiter.join(mylist)) #Brazil_*_Russia_*_India_*_China

    类编程:
    __init__():
    __init__ 方法在类的一个对象被建立时,马上运行。这个方法可以用来对你的对象做一些你希望的初始化。注意,这个名称的开始和结尾都是双下划线。init 方法相当于C++,Java,C# 中的构造函数

    关于range()有三个版本:
    1.range(stop)
    2.range(start, stop)
    3.range(start, stop, step)

    math_var = 3 ** 3
    27 # 这是一个指数运算
    What is the data type for the following “false”?
    False才是布尔值,这是string
    获取第5个字符:
    fifth_letter = “MONTY”[4]

    格式化输出:
    print “There are %d items in the suitcase.” % (list_length)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值