列表类型

列表类型有点类似javascript中是数组,但是不能理解为数组, 可以存储任何数据类型

一、创建列表的方式

  • 1、直接创建

    list1 = [1, 2, 3, '哈哈', (1, 2, 3), {'name': '嘻嘻'}]
    
  • 2、使用对象方式创建

    list2 = list([....])
    
  • 3、列表推导式

    li = [x for x in range(10)]
    

二、列表中用的方法或属性

  • 1、in/not in判断属性在列表中
  • 2、len()计算长度
  • 3、切片操作
  • 4、append()追加元素

    list1.append('hello')
    
  • 5、删除

    • pop()删除

      list1.pop()
      #如果不指定下标就默认删除最后一个,如果有指定就会删除指定位置的
      list1.pop(1)
      
    • remove()删除指定元素

      list1.remove('hello')
      
    • del 删除指定坐标元素

      del list1[1]
      
  • 6、index()查找元素所在的位置

  • 7、count()计算一个元素在列表中的个数
  • 8、reverse()返回列表
  • 9、clear()清空列表
  • 10、insert(位置, 元素)插入元素

    list1.insert(1, '水痕')
    
  • 11、sort()排序
  • 12、列表一.extend(列表二)合并两个列表
  • 13、copy()拷贝列表

三、几种遍历列表的方式

  • 1、直接使用for..in遍历

    list1 = ['哈哈', '嘻嘻', '呵呵']
    for i in list1:
        print(i)
    
  • 2、遍历带下标

    for index, val in enumerate(list1):
        print(index, val)
    
  • 3、使用range遍历

    for i in range(len(list1)):
      print(list1[i])
    
  • 4、使用iter生成一个可迭代对象

    for val in iter(list1):
      print(val)
    

四、灵活的掌握列表推导式的使用

  • 1、直接使用

    print([x for x in range(10)])
    
  • 2、进行运算

    print([x * 2 for x in range(10)])
    
  • 3、进行判断

    print([x * 2 for x in range(10) if x > 5])
    
  • 4、返回值可以是元祖

    print([(x, x * 2) for x in range(10)])
    print(dict([(x, x * 2) for x in range(10)]))
    
  • 5、多个条件的判断

    print([(x, y) for x in range(10) if x % 2 if x > 3 for y in range(10) if y > 7 if y != 8])
    
  • 6、结合内置函数来使用

    print(list(zip([x for x in range(0, 5)], [y for y in range(5, 9)])))
    # [(0, 5), (1, 6), (2, 7), (3, 8)]
    

results matching ""

    No results matching ""