zoukankan      html  css  js  c++  java
  • Python--列表、元组

    stus = ['xiaohei', 'xiaobai', 'xiaohuang']
    # 0 1 2,下标从0开始
    # 下标 角标 索引
    print(stus[1])
    print(stus[2])
    print(stus[-1]) # 最后一个元素下标为-1

    # 增加元素
    stus.append('xiaohong') # 在list末尾增加一个元素
    stus.append('xiaolan')
    print(stus)

    stus.insert(0, 'panda') # 在指定位置添加元素
    stus.insert(100, 'panda') # 如果指定的下标不存在,则添加到末尾
    print(stus)

    list1 = [1, 2, 3]
    list2 = [4, 5, 6]
    print(list1.extend(list2))

    # 修改元素
    stus[0] = 'new_panda'
    print(stus)

    # 查看
    print(stus)
    print(stus[1])
    print(stus[-2])
    print(stus.count('xiaohei')) # 查看某个元素在list中的个数
    print(stus.count('gougou')) # 元素在list中不存在返回0

    print(stus.index('xiaohei')) # 找小黑这个元素的下标,如果有多个,返回第一个
    # print(stus.index('666')) # 如果元素不存在,会报错
    # 删除元素
    stus.pop() # 默认删除最后一个元素,如果指定下标,删除指定的元素,下标不存在会报错
    print(stus.pop()) # pop有返回值
    print(stus)
    stus.pop(1)
    print(stus)

    stus.remove('new_panda') # 删除list中的一个元素,如果列表中有两个此元素,会删除第一个元素
    print(stus.remove('xiaohong'))
    # remove无返回值
    print(stus)

    del stus[0]
    print(stus)

    stus.clear() # 清空整个list
    print(stus)
    # 列表反转及排序
    lists = ['xiaohei', 'xiaohuang', 'xiaobai']
    lists.reverse() # 反转list
    print(lists)

    numbers = [1, 3, 2, 9, 0]
    numbers.sort() # 默认排序为升序
    print(numbers)
    numbers.sort(reverse=True) # 降序
    print(numbers)
    # 多维数组
    # 二维数组 三维数组等
    all_nums = [1, 2, [7, 8, 9]]
    print(all_nums[2][0])
    all_nums1 = [1, 2, [7, 8, 9, ['aaa']]]

    # 列表可以用+号拼接
    stu1 = [1, 2]
    stu2 = [3, 4]
    print(stu1 + stu2)
    print(stu1 * 8)

    # 列表循环及切片
    names = ['haha', 'hehe', 'heihei']
    # 如果直接循环一个list,那么每次循环都是list里面的元素
    for name in names:
    print(name)

    # 切片,list取值的一种方式
    new_names = names[0:1]
    print(new_names) # 切片顾头不顾尾

    nums = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    print(nums[3:6])
    print(nums[:6]) # 切片前面一个值不写,从开头取值
    print(nums[3:]) # 切片最后一个值不写,取到结尾
    print(nums[:]) # 如果前面的值和后面的都不写,全取过来

    print(nums[:6:1])
    print(nums[:6:2]) # 步长
    print(nums[::2])

    print(nums[::-1]) # 步长为正数从左往右取值,步长是负数,从右往左取值
    print(nums[7:0:-1])

    # 切片同样适用于字符串,字符串也有下标
    title = '今天圣诞节'
    print(title[0])
    print(title[:4])
    print(title[::-1])

    for t in title:
    print(t)

    for index, value in enumerate(title): # enumerate内置函数,同时取下标和值
    print('%s: %s' % (index, value))

    # 非空即真
    # 非0即真
    abc = ''
    if abc:
    print('真')
    else:
    print('假')

    num = 1
    if num:
    print('真')
    else:
    print('假')
    
    
    a = (1,)
    print(type(a))
    # 元组是不可变的列表
    b = (1, 2, 3, 4, 5, 5)
    print(b[0])
    print(b[:4])

    # b[-1] = 18 值不可改变

    print(b.count(5)) # 找个数
    print(b.index(1)) # 返回下标

    li = [1, 1, 2, 3, 4, 5, 6, 7, 8, 9]  # 在循环list时,不能删东西,会导致下标变化
    for i in li:
    if i % 2 != 0:
    li.remove(i)
    print(li)

    li2 = li[:] # 深拷贝
    for i in li2:
    if i % 2 != 0:
    li.remove(i)
    print(li)

    li3 = li # 浅拷贝
    print(id(li))
    print(id(li2))
    print(id(li3))
  • 相关阅读:
    Python开发【第六篇】循环语句
    Python开发【第四篇】语句与函数
    Python开发【第三篇】数据类型
    Python开发【第二篇】:初始Python
    2019-10-11入博客第一篇文章
    设计模式——命令模式
    设计模式——职责链模式
    设计模式——单例模式
    设计模式——原型模式
    设计模式——建造者模式
  • 原文地址:https://www.cnblogs.com/wangsilei/p/8108800.html
Copyright © 2011-2022 走看看