zoukankan      html  css  js  c++  java
  • 【一】人人都爱列表

    创建简单的python列表

    1. 格式:name=["huahua","qq","aa"]
    2. 解析
    • 在数据两边加引号,是将各个名字转换成字符串
    • 用逗号将列表项与下一项隔开
    • 在列表的两边加上开始和结束括号
    • 使用赋值操作符=将这个列表赋值给一个标识符(name)    

    使用括号法访问列表数据

    In [19]: num
    Out[19]: [1, 2, 3, 4, ['q', 'w', 'e'], ['a', ['s', 'd']]]
    
    In [20]: print(num[0])
    1

    处理列表数据

    1.for

    • 格式:for 目标标识符 in 列表:
    • 解析:
    1. for知识循环开始,出现在目标标识符前面
    2. 冒号:放在列表名后面,指示列表处理代码开始
    3. 猎豹处理代码必须在for循环下面缩进(4个空格)
    In [19]: num
    Out[19]: [1, 2, 3, 4, ['q', 'w', 'e'], ['a', ['s', 'd']]]
    
    In [21]: for i in num:
        ...:     print(i)
        ...:     
    1
    2
    3
    4
    ['q', 'w', 'e']
    ['a', ['s', 'd']]

    2.while

    In [25]: num
    Out[25]: [1, 2, 3, 4, ['q', 'w', 'e'], ['a', ['s', 'd']]]
    
    In [26]: count=0
    
    In [27]: while count<len(num):
        ...:     print(num[count])
        ...:     count=count+1
        ...:     
    1
    2
    3
    4
    ['q', 'w', 'e']
    ['a', ['s', 'd']]

    在列表中找列表

    1.if...else...

    1. 格式:if 某个条件满足: “true”组 else: ”false“组
    2. 解析:
    • 关键字if指示判定代码开始
    • 条件测试后面有一个冒号:
    • 如果条件满足,则执行”true“组
    • else后面也跟冒号
    • 如果条件不满足,执行false组

    2.isinstance()

    In [28]: num
    Out[28]: [1, 2, 3, 4, ['q', 'w', 'e'], ['a', ['s', 'd']]]
    
    In [29]: isinstance(num,list)
    Out[29]: True

    3.使用多层嵌套处理列表

    方法一:

    In [42]: num
    Out[42]: [1, 2, 3, 4, ['q', 'w', 'e'], ['a', ['s', 'd']]]
    
    In [43]: for first in num:
        ...:     if isinstance(first,list):
        ...:         for er in first:
        ...:             if isinstance(er,list):
        ...:                 for san in er:
        ...:                     print(san)
        ...:             else:
        ...:                 print(er)
        ...:     else:
        ...:         print(first)
        ...:         
    1
    2
    3
    4
    q
    w
    e
    a
    s
    d

    方法二:

    In [44]: def digui(the_list):
        ...:     for i in the_list:
        ...:         if isinstance(i,list):
        ...:             digui(i)
        ...:         else:
        ...:             print(i)
        ...:             
    
    In [45]: num
    Out[45]: [1, 2, 3, 4, ['q', 'w', 'e'], ['a', ['s', 'd']]]
    
    In [46]: digui(num)
    1
    2
    3
    4
    q
    w
    e
    a
    s
    d

    常用的方法列表

    In [47]: dir(num)
    Out[47]: 
    ['__add__',
     '__class__',
     '__contains__',
     '__delattr__',
     '__delitem__',
     '__dir__',
     '__doc__',
     '__eq__',
     '__format__',
     '__ge__',
     '__getattribute__',
     '__getitem__',
     '__gt__',
     '__hash__',
     '__iadd__',
     '__imul__',
     '__init__',
     '__iter__',
     '__le__',
     '__len__',
     '__lt__',
     '__mul__',
     '__ne__',
     '__new__',
     '__reduce__',
     '__reduce_ex__',
     '__repr__',
     '__reversed__',
     '__rmul__',
     '__setattr__',
     '__setitem__',
     '__sizeof__',
     '__str__',
     '__subclasshook__',
     'append',
     'clear',
     'copy',
     'count',
     'extend',
     'index',
     'insert',
     'pop',
     'remove',
     'reverse',
     'sort']

     append:向列表末尾追加一个元素

    In [48]: a=[1]
    
    In [49]: a.append(2)
    
    In [50]: a
    Out[50]: [1, 2]

    clear:清楚一个列表中的所有元素

    In [55]: a
    Out[55]: [1, 2]
    
    In [56]: a.clear()
    
    In [57]: a
    Out[57]: []

    copy:复制一个列表

    In [62]: b=[1,2]
    
    In [63]: c=b.copy()
    
    In [64]: c
    Out[64]: [1, 2]

    count:计算某个元素在列表中出现的次数

    In [73]: c
    Out[73]: [1, 2, 3, 2, 2, 2]
    
    In [74]: c.count(2)
    Out[74]: 4

    extend:直接向列表末尾一次性追加一个列表

    In [82]: a
    Out[82]: [1, 2, 3]
    
    In [83]: b
    Out[83]: [1, 2]
    
    In [84]: a.extend(b)
    
    In [85]: a
    Out[85]: [1, 2, 3, 1, 2]

    index:从列表中找出某个值第一个匹配的索引位置

    In [86]: a
    Out[86]: [1, 2, 3, 1, 2]
    
    In [87]: a.index(3)
    Out[87]: 2

    insert:将对象插入列表中

    In [88]: a
    Out[88]: [1, 2, 3, 1, 2]
    
    In [89]: b
    Out[89]: [1, 2]
    
    In [90]: a.insert(0,b)
    
    In [91]: a
    Out[91]: [[1, 2], 1, 2, 3, 1, 2]

    pop:移除列表中的最后一个元素

    In [92]: a
    Out[92]: [[1, 2], 1, 2, 3, 1, 2]
    
    In [93]: a.pop()
    Out[93]: 2
    
    In [94]: a
    Out[94]: [[1, 2], 1, 2, 3, 1]

    remove:移除列表中第一个匹配的元素

    In [95]: a
    Out[95]: [[1, 2], 1, 2, 3, 1]
    
    In [96]: a.remove(1)
    
    In [97]: a
    Out[97]: [[1, 2], 2, 3, 1]

    reverse:将列表中的元素反向存放

    In [101]: a
    Out[101]: [[1, 2], 2, 1]
    
    In [102]: a.reverse()
    
    In [103]: a
    Out[103]: [1, 2, [1, 2]]

    sort:对列表排序

    In [112]: b
    Out[112]: [1, 2, 5, 4]
    
    In [113]: b.sort()
    
    In [114]: b
    Out[114]: [1, 2, 4, 5]
    In [115]: b.sort.__doc__
    Out[115]: 'L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*'
    
    In [116]: x=['abc','a','bc','abcd']
    
    In [117]: x.sort(key=len)#根据键值来排序
    
    In [118]: x
    Out[118]: ['a', 'bc', 'abc', 'abcd']
    
    In [120]: n=[3,1,5,9]
    
    In [121]: n.sort(reverse=True) #反向排序
    
    In [122]: n
    Out[122]: [9, 5, 3, 1] 

    使用in判断值是否存在

    In [123]: n
    Out[123]: [9, 5, 3, 1]
    
    In [124]: 9 in n
    Out[124]: True 

    使用len获取长度

    In [127]: n
    Out[127]: [9, 5, 3, 1]
    
    In [128]: len(n)
    Out[128]: 4

     练习:定义一个函数,参数为接收一个无序的列表,打印出这个列表的最大值与最小值。

    In [10]: def max_min(the_list):
        ...:     for i in the_list:
        ...:         if the_list.index(i)==0:
        ...:             max_value=i
        ...:             min_value=i
        ...:             print(i,max_value)
        ...:         the_list.pop(0)
        ...:         print(the_list.pop(0))
        ...:         for j in the_list:
        ...:             if j>max_value:
        ...:                 max_value=j
        ...:             if j<min_value:
        ...:                 min_value=j
        ...:     print(max_value,min_value)
        ...:     
    
    In [11]: max_min([22,33,4,0,9])
    22 22
    33
    0
    22 0

    解题思路:1.先确定第一位数的索引是否为0 2.移除第一位数 3.循环 列表中的数,找出最大值与最小值

  • 相关阅读:
    HearthBuddy投降插件2019-11-01的使用
    正则表达式在线分析 regex online analyzer
    Tips to write better Conditionals in JavaScript
    The fileSyncDll.ps1 is not digitally signed. You cannot run this script on the current system.
    Cannot capture jmeter traffic in fiddler
    JMETER + POST + anti-forgery token
    input type color
    HearthBuddy修改系统时间
    What are all the possible values for HTTP “Content-Type” header?
    UDK性能优化
  • 原文地址:https://www.cnblogs.com/8013-cmf/p/6890297.html
Copyright © 2011-2022 走看看