• 第二章 数据类型


    字符串

    创建:

    s = 'Hello,Eva! How are you?'

    #索引

    s = 'Hello'

    >>>[1]

    'e'

    >>>s[-1]

    'o'

    >>>s.index('e')

    1

    #查找

    >>>s.find('e')

    1

    >>>s.find('i')

    -1

    移除空白

    s='    hello,world!  '

    s.strip()

    s.lstrip()

    s.rstrip()

    s2= '***hello,world!***'

    s2.strip('*')

    #长度

    >>>s= 'hello,world'

    >>>len(s)

    11

    #替换

    >>>s='hello,world!'

    >>>s.replace('h','H')

    'Hello,world!'

    #切片

    >>>s='abcdefzhigklmn'

    >>>s[0:7]

    'abcdefg'

    >>>s[7:14]

    'higklmn'

    >>>s[ :7]

    'abcdefg'

    >>>s[:]

    'abcdefghigklmn'

    >>>s[0:7:2]

    'aceg'

    >>>s[::2]

    'acegikm'

    >>>s[::-1]

    'nmlkgihgfedcba'

    列表

    创建:

    list_test=['张三',‘李四’,‘alex’]

    常见操作:

    #索引

    >>> l = ['egon','alex','seven','yuan']

    >>>l[0]

    'egon'

    #切片

    >>>l[0:2]

    ['egpn','alex']

    #追加

    >>>l.append("eva")

    >>>l

    ['egon','alex','seven','yuan','eva']

    #删除

    >>>l.remove('eva')

    >>>l

    ['egon','alex','seven','yuan']

    >>>l.pop

    'yuan'

    >>>l

    ['egon','alex','seven']

    #长度

    >>>len(l)

    3

    #包含

    >>>'seven' in l

    True

    >>>'yuan' in l

    False

    #循环

    >>>for i in l:

    egon

    alex

    seven

    列表与字符串----split 和 join

    #分割

    >>>s='hello,world'

    >>>s.split(' ')

    ['hello','world']

    >>>s2 = 'hello,world'

    >>>s2.split(',')

    ['hello','world']

    #连接

    >>>l = ['hi','eva']

    >>>'!'.join(l)

    'hi!eva'

    range

    >>>range(1,100)

    1,2,3,4....99

    >>>list(range(1,100))

    [1,2,3,4,5,6.....99]

    >>>list(range(1,100,2))

    [1,3,5,7,...99]

    range是一个生成器,list将range转换成一个列表

    #元组

    创建 常见操作 同上一样 

    可变 不可变 数据类型 和 hash

    可变类型 :列表

    不可变类型:数字,字符串,元组

    可变是指元素发生改变id 内存地址不改变

    不可变是指元素发生改变 ID内存地址也会发生改变

    可hash 的是不可变类型数据

    #字典

    创建

    person={'name':'alex','age':20}

    person=dict(name='seven',age=20)

    person=({'name':'alex','age':20})

    person=dict((['name','婉约‘],['文周’,18]))

    dic={}.fromkeys(['k1','k2'],[])
    print(dic)
    dic['k1'].append(2)
    print(dic)


    {'k1': [], 'k2': []}
    {'k1': [2], 'k2': [2]}






    字典的常用操作

    键 值 键值对

    1.dic.key() 返回一个包含字典所有KEY的列表

    2.dic.values() 返回一个包含字典所有value的列表

    3.dic.items() 返回一个包含所有(键 值)元组的列表

    #新增

    1.dic['new_key]='nes_value';

    2.dic.setfault(key, None) 

    #删除

    1.dic.pop(key[,default])  如果key存在,删除并返回key对应的vuale;如果key不存在且没有给出default的值,则引发keyerror异常

    2.dic.clear() 删除字典中的所以项或元素

    #修改

    1.di['key'] = 'new_value' 如果key 在字典中存在,‘new_value’将替代原来value的值

    2、dic.update(dic2) 将字典dic2的键值对添加到字典dic中

    #查看

    1.dic['key'] 返回字典中Key对应的值

    2.dict.get(key,default  = None)返回key对应的值 若key不存在返回default的值=

    #循环

    1.for k in dic.key()

    2.for k,v in dic.items()

    3.for k in dic

    #长度
    1.len(dic)

    集合

    引子:

    l = ['张三’,‘李四’,‘老男孩’]

    p = ['张三',’李四‘,’alex']

    l_p = []

    for i in l:
        if i in p:

            l_p.append(i)

    print(l_p )

    认识集合

    集合三大特征:

    1.确定性(元素必须可hash)

    2.互斥性(去重)

    3.无序性(集合元素没有先后之分)

    注意:集合存在的意义就在于去重和关系运算

    集合的关系运算

    & 交集 两个集合同时存在的

    | 合集 也叫并集 两个集合所有加起来

    — 差集   只在前一个二不在后一个的

    ^ 对称差集 只在前一个或只在后一个的

    包含关系

    in not in 判断某元素是否在集合内

    == != 两个集合是否相等

    集合常见操作

    单个元素的添加 :add() add类似列表append

    对序列的增加 : update() update同时传入多个参数

    >>> a = [1,2]

    >>>a.update([3,4],[1,2,7])

    >>>q

    [1,2,3,4,7]

    >>>a.update("hello")

    >>>a

    {1,2,3,4,7,'h','e,'l','l','o'}

    >>>a.add('hello')

    >>>a

    {1,2,3,'hello',7,'h','e','l','l','o'}

    元素的删除

    两种删除方式

    set.discard(x)不会抛出异常

    set.remove(x)会抛出异常

    >>>a={1,2,3,4}

    >>>a.discard(1)

    >>>a

    {2,3,4}

    >>>a.discard(1)

    >>>a

    {2,3,4}

    >>>a.remove(1)

    Traceback (most recent call last):

        File "<input>",line 1, in <module>

    KeyError:'pop form an empty set '

                         

    pop() 由于集合无序 pop返回结果不确定 当集合为空时调用pop会抛出KeyError 异常

    clear() 清空集合

                                                                                                                                                                           

  • 相关阅读:
    分享15款为jQuery Mobile定制的插件
    显​示​器​分​辨​率​调​高​后​黑​屏​的​最​佳​解​决​办​法
    out 和 ref 之间的区别整理
    赋值操作符重载
    最长公共子串
    最长递增子序列
    动态规划
    Eclipse支持Jquery代码提示(JqeuryWTP)
    ubuntu10.04编译内核不显示grub菜单解决
    CSS水平导航条和纵向导航条
  • 原文地址:https://www.cnblogs.com/mayicai/p/8786200.html
Copyright © 2020-2023  润新知