zoukankan      html  css  js  c++  java
  • Day 3-Python列表、元祖、词典

    1.列表list-【】,列表对象调用XXX方法

    (1)属性

      #列表也可以通过索引和切片取元素,内部可以存任何类型的数据,可嵌套列表,但整个列表是一个元素

      #内部存储规则为链表,每个元素会自动牵引到下个元素的位置,因此列表创建后是可以修改的

    (2)修改和删除

    #修改

    li=[2,'ad','23',2]
    li[1:3]='chris',26
    print(li)

      #此时输出结果为[2, 'chris', 26, 2]

    #删除 del x[2]  也可以删除多个(通过切片)

    li=[2,'ad','23',2]
    del li[3]
    print(li)

      #此时输出结果为[2, 'ad', '23']

    #in操作 判断某个元素是否在列表中,多个的话可以用and连接

    li=[2,'ad','23',2]
    v=2 in li
    print(v)

      此时输出值为True

    (3)取值,通过索引

    li=[4,'ad',[5,3,[1,6],'asf'],'23',2]
    v=li[2][2][1]
    print(v)

      #列表中嵌套列表时,可通过多个索引定位,此时输出值为6

     (4)转换

    #字符串转换成列表 li=list('asgadgcxbv')内部使用for循环,数字不可转换

      列表转换成字符串

    如果列表中全是字符串直接使用join  li=['s','d']    v=‘’.join(li) print(v)

    如果列表中既有数字,又有字符串时

    a=[1,2,3,'gsda']
    s=''
    for i in a:
        s=s+str(i)
    print(s)

    #此时输出结果为123gsda

    (5)append()原来值最后追加,无需再通过其他变量来接收,也可追加列表,如下

    a=[1,2,3,'gsda']
    a.append(2)
    print(a)

    #此时输出值为[1, 2, 3, 'gsda', 2]

    (6)clear()清空列表,清空列表所有值

    (7)copy() 拷贝列表,需要通过一个值接收

    (8)count()计算元素个数

    a=[1,2,3,'gsda',2]
    b=a.count(2)
    print(b)

    #此时输出值为2,因为有2个2

    (9)extend() 拓展原来的列表,参数是可迭代对象 内部执行for循环将每个元素加入,不同于append

    (10)index() 根据值寻找元素的索引位置

    a=[1,2,3,'gsda',2]
    b=a.index(3)
    print(b)

    #此时输出值为2,既元素3的索引位置

    (11)insert() 在指定索引位置插入元素

    a=[1,2,3,'gsda',2]
    a.insert(1,22)
    print(a)

    #此时输出值为【1,22,2,3,'gsda',2】

    (12)pop() 默认删除最后一个值,同时还可获取删除的值,可添加索引参数指定删除某个值

    (13)remove() 删除列表中的某个指定值,左边的优先 a=[1,2,3,'gsda',2] v=remove(2),此时输出值为[1,3,'gsda',2]

    五个删除: 1. pop() 2. remove() 3.del li[0] 4. del li[0:3] 5. clear()

    (14)reverse() 将当前列表顺序进行反转

    (15)sort() 列表排序,默认为从小到大,可设置参数 reverse=True时 从大到小,参数可添加函数!!!

    a=[1,3,3,2,5]
    a.sort(reverse=True)
    print(a)

    #此时输出值为[5, 3, 3, 2, 1],字符串不可排序

    列表为list类的面向对象

    2.元组tuple-()-对列表的二次加工,第一级元素不可被修改,不能被增加或删除

     #一般写元组的时候,在最后一个括号前加入逗号

    1.可以使用索引 [ ] 也可切片,也可for循环 也是可迭代对象

    #列表、字符串和元组之间可以相互转换

    (1)列表转元组  v=tuple(a)

      (2)  列表和元组转换为字符串时,若元素里都是字符串,则可直接用join函数 v=''join(tu)

    2.第一级元素不可修改,第二级可以

    tu=(1,33,'chris',[11,'22'],4,5,)
    tu[3][0]='77'
    print(tu)

    此时输出为(1, 33, 'chris', ['77', '22'], 4, 5),11被替换成了77

    3.count()获取指定元素在元组中出现的次数

    4.index()获取某个值在元组中的索引位置

    3.字典 (为类dict的对象)- {'a':'b','ew':'23'} 这里面包含两个键值对

    #字典的value可以是任何值,字典的key不能是列表、字典 布尔值中True为1 False为0,注意key不能重复!!!

    1.字典是无序的!!!

    2.取值时,前面的key就是索引,不可以进行切片,因为无序

    a={'b':3,'e':'ew'}
    print(a['e'])

    #此时输出为ew

    3.字典支持del删除

    4.for循环下的输出,默认为输出key

    a={'b':3,
       'e':'ew',
       3:{'3',2}
       }
    for i in a:
        print(i)

    #此时输出值为:b,e,3

    #可利用dict的功能取key、value 对应为a.keys()  a.values()

    如下,需要输出key和values时

    a={'b':3,
       'e':'ew',
       3:{'3',2}
       }
    for i in a.keys():
        print(i,a[i])

    此时输出值为

    b 3
    e ew
    3 {'3', 2}

    # i为for循环引导的索引,a【i】通过索引查找值

    另一种方法,通过类dict的items()功能获取,记住要赋值两个变量,既k,v

    a={'b':3,
       'e':'ew',
       3:{'3',2}
       }
    for k,v in a.items():
        print(k,v)

     5.  dict.fromkeys() 根据序列,创建字典,并制定统一的值

    a=dict.fromkeys([1,3,2],3)
    print(a)

    此时输出值为{1: 3, 3: 3, 2: 3}

    6. get(),寻找key所对应的值,没有则为空,也可自己设定参数

    a={'b':3,
        'e':'ew',
        3:{'3',2}
           }
    v=a.get('b')
    print(v)
    
    a={'b':3,
        'e':'ew',
        3:{'3',2}
           }
    v=a.get('9','wu')
    print(v)

    第一个v为3, 第二个v为wu

    7. pop()移除值,后面可以赋予一个默认值

    a={'b':3,
        'e':'ew',
        3:{'3',2}
           }
    v=a.pop('b','wu')
    print(a,v)

    此时输出值为{'e': 'ew', 3: {2, '3'}} 3,删除的值3赋予给了v,如果删除的key不存在,则输出为wu

    8.popitem()随机删除一个值,通过k,v来接收删除的值

    a={'b':3,
        'e':'ew',
        3:{'3',2},
       4:'ee'
           }
    k,v=a.popitem()
    print(a,k,v)

    此时输出值为{'b': 3, 'e': 'ew', 3: {2, '3'}} 4 ee

    9. stedefault() 设置值,已存在则不设置,获取当前的key对应的值, 若不存在则添加进去

    a={'b':3,
        'e':'ew',
        3:{'3',2},
       4:'ee'
           }
    v=a.setdefault('222',5)
    print(a,v)

    此时输出值为{'b': 3, 'e': 'ew', 3: {2, '3'}, 4: 'ee', '222': 5} 5

    10. update() 两种写法 a.update{'k1':'3','k2':'4'}  或者a.update(k1=3,k2=4)

    4,布尔值为False的几种情况

    #None ,'',(),[],{} 0 ==> False

    l ist

  • 相关阅读:
    设计模式之桥接模式
    设计模式之观察者模式
    设计模式之装饰者模式
    设计模式之适配器模式
    2 深入分析 Java IO的工作机制(二)
    struts2常用标签使用说明
    JDK环境变量配置
    Oracle恢复删除数据 && connect by 树形结构查询
    Spring和Hibernate集成配置
    Struts2中重定向和请求转发配置
  • 原文地址:https://www.cnblogs.com/caixiaowu/p/12118447.html
Copyright © 2011-2022 走看看