• 【一】人人都爱列表


    创建简单的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.循环 列表中的数,找出最大值与最小值

  • 相关阅读:
    在ASP.NET页面中推荐使用覆写(Override)而不是事件处理(Event Handler)[转帖]
    box2dweb资料
    两个游戏开发相关的工具
    django中实现图片上传
    html5和webgame开发
    我的js游戏小引擎 —— 可使用canvas模式或DOM模式
    如何处理网络游戏网络延迟问题
    iphone5和ios6 对html5、web app带来的影响
    矩阵变化和坐标
    连连看游戏demo
  • 原文地址:https://www.cnblogs.com/8013-cmf/p/6890297.html
Copyright © 2020-2023  润新知