• python入门009


    四.列表

    1.定义:在[]内,用逗号分隔开多个任意数据类型的值

    info=[1,'a',[1,2]] #本质:info=list([1,'a',[1,2]])

    2.类型转换:但凡能被for循环遍历的数据类型都可以传给list()转换成列表类型,list()会跟for循环一样遍历出数据类型中包含的每一个元素然后放到列表中

    >>> list('wdad') # 结果:['w', 'd', 'a', 'd'] 
    >>> list([1,2,3]) # 结果:[1, 2, 3]
    >>> list({"name":"jason","age":18}) #结果:['name', 'age']
    >>> list((1,2,3)) # 结果:[1, 2, 3] 
    >>> list({1,2,3,4}) # 结果:[1, 2, 3, 4]
    

    3.使用(内置方法)


    优先掌握的操作:

    # 1.按索引存取值(正向存取+反向存取):即可存也可以取  
    # 1.1 正向取(从左往右)
    >>> my_friends=['tony','jason','tom',4,5]
    >>> my_friends[0]  
    tony
    # 1.2 反向取(负号表示从右往左)
    >>> my_friends[-1]  
    5
    # 1.3 对于list来说,既可以按照索引取值,又可以按照索引修改指定位置的值,但如果索引不存在则报错
    >>> my_friends = ['tony','jack','jason',4,5]
    >>> my_friends[1] = 'martthow'
    >>> my_friends
    ['tony', 'martthow', 'jason', 4, 5]
    
    
    # 2.切片(顾头不顾尾,步长)
    # 2.1 顾头不顾尾:取出索引为0到3的元素
    >>> my_friends[0:4] 
    ['tony', 'jason', 'tom', 4]
    # 2.2 步长:0:4:2,第三个参数2代表步长,会从0开始,每次累加一个2即可,所以会取出索引0、2的元素
    >>> my_friends[0:4:2]  
    ['tony', 'tom']
    
    # 3.长度
    >>> len(my_friends)
    5
    
    # 4.成员运算in和not in
    >>> 'tony' in my_friends
    True
    >>> 'xxx' not in my_friends
    True
    
    # 5.添加
    # 5.1 append()列表尾部追加元素
    >>> l1 = ['a','b','c']
    >>> l1.append('d')
    >>> l1
    ['a', 'b', 'c', 'd']
    
    # 5.2 extend()一次性在列表尾部添加多个元素
    >>> l1.extend(['a','b','c'])
    >>> l1
    ['a', 'b', 'c', 'd', 'a', 'b', 'c']
    
    # 5.3 insert()在指定位置插入元素
    >>> l1.insert(0,"first")  # 0表示按索引位置插值
    >>> l1
    ['first', 'a', 'b', 'c', 'alisa', 'a', 'b', 'c']
    
    # 6.删除
    # 6.1 del
    >>> l = [11,22,33,44]
    >>> del l[2]  # 删除索引为2的元素
    >>> l
    [11,22,44]
    
    # 6.2 pop()默认删除列表最后一个元素,并将删除的值返回,括号内可以通过加索引值来指定删除元素
    >>> l = [11,22,33,22,44]
    >>> res=l.pop()
    >>> res
    44
    >>> res=l.pop(1)
    >>> res
    22
    
    # 6.3 remove()括号内指名道姓表示要删除哪个元素,没有返回值
    >>> l = [11,22,33,22,44]
    >>> res=l.remove(22) # 从左往右查找第一个括号内需要删除的元素
    >>> print(res)
    None
    
    # 7.reverse()颠倒列表内元素顺序
    >>> l = [11,22,33,44]
    >>> l.reverse() 
    >>> l
    [44,33,22,11]
    
    # 8.sort()给列表内所有元素排序
    # 8.1 排序时列表元素之间必须是相同数据类型,不可混搭,否则报错
    >>> l = [11,22,3,42,7,55]
    >>> l.sort()
    >>> l 
    [3, 7, 11, 22, 42, 55]  # 默认从小到大排序
    >>> l = [11,22,3,42,7,55]
    >>> l.sort(reverse=True)  # reverse用来指定是否跌倒排序,默认为False
    >>> l 
    [55, 42, 22, 11, 7, 3]
    # 8.2 了解知识:
    # 我们常用的数字类型直接比较大小,但其实,字符串、列表等都可以比较大小,原理相同:都是依次比较对应位置的元素的大小,如果分出大小,则无需比较下一个元素,比如
    >>> l1=[1,2,3]
    >>> l2=[2,]
    >>> l2 > l1
    True
    # 字符之间的大小取决于它们在ASCII表中的先后顺序,越往后越大
    >>> s1='abc'
    >>> s2='az'
    >>> s2 > s1 # s1与s2的第一个字符没有分出胜负,但第二个字符'z'>'b',所以s2>s1成立
    True
    # 所以我们也可以对下面这个列表排序
    >>> l = ['A','z','adjk','hello','hea']
    >>> l.sort()
    >>> l
    ['A', 'adjk', 'hea', 'hello','z']
    
    # 9.循环
    # 循环遍历my_friends列表里面的值
    for line in my_friends:
        print(line) 
    'tony'
    'jack'
    'jason'
    4
    5
    

    了解操作:

    l = [1, 'aaa', 'bbb','aaa','aaa']
    1、l.count()#统计子字符在列表中的个数
    print(l.count('aaa'))
    
    2、l.index()
    print(l.index('aaa'))#找到'aaa'在列表中第一索引
    print(l.index('aaaaaaaaa')) # 找不到报错
    
    3、l.clear()
    l.clear()#清除列表中的所有值
    print(l)
    
    4、l.reverse():不是排序,就是将列表倒过来
    l = [1, 'egon','alex','lxx']
    l.reverse()
    print(l)
    
    5、l.sort(): 列表内元素必须是同种类型才可以排序
    l=[11,-3,9,2,3.1]
    l.sort() # 默认从小到大排,称之为升序
    l.sort(reverse=True) # 从大到小排,设置为降序
    print(l)
    
    l=[11,'a',12]
    l.sort()#不是同种类型报错
    
    l=['c','e','a']
    l.sort()
    print(l)
    

    五.元祖

    1.作用:元组与列表类似,也是可以存多个任意类型的元素,不同之处在于元组的元素不能修改,即元组相当于不可变的列表,用于记录多个固定不允许修改的值,单纯用于取

    2.定义:在()内用逗号分隔开多个任意类型的值

    name=('egon','alex','lxx')# 本质:name = tuple('egon','alex','lxx')
    # 强调:如果元组内只有一个值,则必须加一个逗号,否则()就只是包含的意思而非定义元组
    name=('lxx')  # name=tuple('lxx',)
    

    3.类型转换

    但凡能被for循环的遍历的数据类型都可以传给tuple()转换成元组类型

    tuple('wdad') # 结果:('w', 'd', 'a', 'd') 
    tuple([1,2,3]) # 结果:(1, 2, 3)
    tuple({"name":"jason","age":18}) # 结果:('name', 'age')
    tuple((1,2,3)) # 结果:(1, 2, 3)
    tuple({1,2,3,4}) # 结果:(1, 2, 3, 4)
    # tuple()会跟for循环一样遍历出数据类型中包含的每一个元素然后放到元组中
    

    4.使用(内置方法)

    优先掌握的操作:

    1、按索引取值(正向取+反向取):只能取
    t=('aa','bbb','cc')
    print(t[0])
    print(t[-1])
    
    2、切片(顾头不顾尾,步长)
    t=('aa','bbb','cc','dd','eee')
    print(t[0:3])
    print(t[::-1])
    
    3、长度
    t=('aa','bbb','cc','dd','eee')
    print(len(t))
    4、成员运算in和not in
    print('aa' in t)
    
    5、循环
    for x in t:
        print(x)
    

    六.字典

    1.定义:在{}内用逗号分隔开多元素,每一个元素都是key:value的形式,其中value可以是任意类型,而key则必须是不可变类型,通常key应该是str类型,因为str类型会对value有描述性的功能

    info={'name':'egon','age':18,'sex':'male'} #本质info=dict({....})
    # 也可以这么定义字典
    info=dict(name='tony',age=18,sex='male') # info={'age': 18, 'sex': 'male', 'name': 'tony'}
    

    2.类型转换

    # 转换1: 
    >>> info=dict([['name','tony'],('age',18)])
    >>> info
    {'age': 18, 'name': 'tony'}
    
    # 转换2:fromkeys会从元组中取出每个值当做key,然后与None组成key:value放到字典中
    >>> {}.fromkeys(('name','age','sex'),None)  
    {'age': None, 'sex': None, 'name': None}
    

    3.使用(内置方法)

    优先掌握的操作:

    # 1、按key存取值:可存可取
    # 1.1 取
    >>> dic = {
    ...     'name': 'xxx',
    ...     'age': 18,
    ...     'hobbies': ['play game', 'basketball']
    ... }
    >>> dic['name']
    'xxx'
    >>> dic['hobbies'][1]
    'basketball'
    # 1.2 对于赋值操作,如果key原先不存在于字典,则会新增key:value
    >>> dic['gender'] = 'male'  
    >>> dic
    {'name': 'tony', 'age': 18, 'hobbies': ['play game', 'basketball'],'gender':'male'}
    # 1.3 对于赋值操作,如果key原先存在于字典,则会修改对应value的值
    >>> dic['name'] = 'tony'
    >>> dic
    {'name': 'tony', 'age': 18, 'hobbies': ['play game', 'basketball']}
    
    
    # 2、长度len
    >>> len(dic) 
    3
    
    
    # 3、成员运算in和not in
    >>> 'name' in dic  # 判断某个值是否是字典的key
    True
    
    
    # 4、删除
    >>> dic.pop('name')  # 通过指定字典的key来删除字典的键值对
    >>> dic
    {'age': 18, 'hobbies': ['play game', 'basketball']}
    
    
    # 5、键keys(),值values(),键值对items()
    >>> dic = {'age': 18, 'hobbies': ['play game', 'basketball'], 'name': 'xxx'}
    # 获取字典所有的key
    >>> dic.keys()  
    dict_keys(['name', 'age', 'hobbies'])
    # 获取字典所有的value
    >>> dic.values()
    dict_values(['xxx', 18, ['play game', 'basketball']])
    # 获取字典所有的键值对
    >>> dic.items()
    dict_items([('name', 'xxx'), ('age', 18), ('hobbies', ['play game', 'basketball'])])
    
    
    # 6、循环
    # 6.1 默认遍历的是字典的key
    >>> for key in dic:
    ...     print(key)
    ... 
    age
    hobbies
    name
    # 6.2 只遍历key
    >>> for key in dic.keys():
    ...     print(key)
    ... 
    age
    hobbies
    name
    # 6.3 只遍历value
    >>> for key in dic.values():
    ...     print(key)
    ... 
    18
    ['play game', 'basketball']
    xxx
    # 6.4 遍历key与value
    >>> for key in dic.items():
    ...     print(key)
    ... 
    ('age', 18)
    ('hobbies', ['play game', 'basketball'])
    ('name', 'xxx')
    

    了解的操作:

    d={'k1':111}
    1、d.clear()
    
    2、d.update()
    d.update({'k2':222,'k3':333,'k1':111111111111111})
    print(d)
    
    3、d.get() :根据key取值,容错性好
    print(d['k2'])  # key不存在则报错
    
    print(d.get('k1')) # 111
    print(d.get('k2')) # key不存在不报错,返回None
    
    4、d.setdefault()
    info={}
    if 'name' in info:
        ... # 等同于pass
    else:
        info['name']='egon'
    print(info)
    
    4.1 如果key有则不添加,返回字典中key对应的值
    info={'name':'egon'}
    res=info.setdefault('name','egon')
    print(info)
    

  • 相关阅读:
    ExtJS 使用点滴 四 XTemplate使用方法
    ExtJS 使用点滴 三 TreeGrid 单击事件侦听例子
    VS2008 引用App_Code下的类文件问题解决方法
    C# 文件操作类大全(转摘)
    SqlParameter数组
    ExtJS 使用点滴 二 如何使用XTemplate基于同行的其他列的值,改变当前列的显示样式
    ScriptManager.RegisterStartupScript方法
    ExtJS 使用点滴 一(XTemlpate)
    Jquery 远程调用 webService报错,500错误
    C# 调用数据库函数 转摘
  • 原文地址:https://www.cnblogs.com/linqiaobao/p/12464475.html
Copyright © 2020-2023  润新知