zoukankan      html  css  js  c++  java
  • day04

    1. 什么是列表

    列表是python的基础数据类型之⼀ ,列表由[]来表示,每一项使用逗号隔开. 列表什么都能装. 能装对象的对象.
    列表可以装大量数据,⽽且列表是有序的(按照你保存的顺序),有索引, 可以切⽚⽅便取值.

    2. 列表的索引和切片

    1. 列表和字符串⼀样也拥有索引
        lst = ["李白","杜甫","白居易"]
        print(lst[0])  # 李白
        print(lst[1])  # 杜甫
        print(lst[2])  # 白居易
    
        lst[1] = "王维"  # 注意: 列表是可以改变的,而字符串不能改变.
        print(lst)  # 李白 王维 白居易
    
        s = "向华强"
        s[1] = "" # 字符串不允许改变
        print(s)  # (报错)TypeError: 'str' object does not support item assignment
    2. 列表的切片
        lst = ["麻花藤", "王剑林", "⻢芸", "周鸿医", "向华强"]
        print(lst[0:3])  # ['麻花藤', '王剑林', '⻢芸']
        print(lst[:3])  # ['麻花藤', '王剑林', '⻢芸']
        print(lst[1::2])  # ['王剑林', '周鸿医'] 也有步⻓
        print(lst[2::-1])  # ['⻢芸', '王剑林', '麻花藤'] 也可以倒着取
    
        print(lst[-1:-3:-2])  # 倒着带步⻓

    2. 列表的增删改查

    *增加
    lst = ['赵四','施瓦辛格','黄渤','郭达森','赛利亚']
    
    # 在屁股添加
    lst.append("黄宏")  # 只能加一个元素(元素可以是一个列表),在原有的基础上进行的操作
    #在xxx位置插入xxxx内容
    lst.insert(1,"王力宏")  # 在指定位置插入添加,原来的元素向后移动⼀位.
    # 迭代添加,可以加多个元素.
    lst.extend(["麻花藤",'马云',"王健林",'许家印'])  # 迭代添加里面的多个元素
    print(lst)
    *删除
    lst = ['赵四','施瓦辛格','黄渤','郭达森','赛利亚']
    
    lst.pop() # 删除最后⼀个
    print(lst)  # ["赵四","施瓦辛格","黄渤,"郭达森"]
    data = lst.pop(2) # 返回的被删除数据(删除的是2号元素)
    print(data)  # 黄渤
    print(lst)  # ["赵四","施瓦辛格","郭达森"]
    
    lst.remove("赵四") # 删除元素
    lst.remove("刘能") # 如果不存在会报错
    
    # 切片删除 (指令)
    del lst[1:3]
    # 清空
    lst.clear()
    print(lst)
    *修改
    lst = ['王者农药',"魔兽世界","DNF","逆水寒","反恐精英"]
    
    lst[0] = "扫雷"
    print(lst)  # ['扫雷', '魔兽世界', 'DNF', '逆水寒', '反恐精英']
    
    lst [1:3]= ["跑跑卡丁车"] # 先删除后添加
    print(lst)  # ['王者农药', '跑跑卡丁车', '逆水寒', '反恐精英']
    
    lst [1::3] = ["QQ华夏","QQ三国"] # 切片修改的时候. 如果步长不是1. 注意元素的个数
    print(lst)  # ['王者农药', 'QQ华夏', 'DNF', '逆水寒', 'QQ三国']
    *查询(用for循环)
    lst = ["锅包肉","好人家火锅","巫山烤鱼","清水煮白菜","烤鸭"]
    for el in lst:  # element(元素)
        print(el) 

    3. 列表的嵌套

    lst = ["alex","gay","wusir",["范冰冰","李冰冰",[1,"火锅","ritian","凤爪"],"王冰冰"]]
    print(lst[3][2][1]) # 火锅
    lst[3][2][2] = lst[3][2][2].upper() # ,ritian大写后的字符串放入索引位置
    lst[3][2][0] = 100  # 1变成100
    lst[3][2][0] = lst[3][2][0] + 99  # 100 + 99 = 199
    print(lst)  #['alex', 'gay', 'wusir', ['范冰冰', '李冰冰', [199, '火锅', 'RITIAN', '凤爪'], '王冰冰']]

    4. list相关操作

    # 查询某个元素出现的次数
    lst = ["太白","wusir","太白","康琪","摇摆"]
    c = lst.count("太白") # 查询太⽩出现的次数
    print(c)  # 2
    
    # 找到列表元素的下标
    print(lst.index("太白"))  # 0
    
    # 排序数字(升序, 降序)
    lst = [1,5,3,4,3,2,44,3,2,22]
    lst.sort()  # 排序, 默认升序
    print(lst)  # [1, 2, 2, 3, 3, 3, 4, 5, 22, 44]
    lst.sort(reverse=True)  # 排序, 默认降序, reverse= Ture 降序
    print(lst)  # [44, 22, 5, 4, 3, 3, 3, 2, 2, 1]
    
    # 列表里的字符串,翻转倒序输出
    lst = ["晓雪","小茹","小花","晓梅"]
    lst.reverse()   # 翻转
    print(lst)  # ['晓梅', '小花', '小茹', '晓雪']

    # 求长度
    print(len(lst)) # 4

    5. 元组

    元组: 俗称不可变的列表.⼜被成为只读列表, 元组也是python的基本数据类型之⼀, ⽤⼩括号括起来, ⾥⾯可以放任何数据类型的数据, 查询可以. 循环也可以. 切片也可以. 但就是不能改. 
    # 元组中如果只有⼀个元素. ⼀定要添加⼀个逗号, 否则就不是元组
    tu = (1)
    print(type(tu))  # <class 'int'>
    tu = (1,)
    print(type(tu))  # <class 'tuple'>

    # 空元组的表示
    tu = tuple()
    tu = ("人民币","美元","英镑","欧元")
    tu.append("哈哈")     # 增加不行
    tu[0] = "日元"    # 不允许修改
    del tu[2]     # 删除也不行
    
    # 索引可以用(查询可以)
    print(tu[2])  # 英镑
    
    # 切片可以(切片后还是元组)
    print(tu[::2)  # ('人民币', '英镑')
    
    for el in tu:     # 遍历输出(循环可以)
        print(el)

    注意: 元组查询可以. 循环也可以. 切片也可以. 但就是不能改(增删改).
    # 关于不可变, 注意: 这⾥元组的不可变的意思是⼦元素不可变.
    # ⽽⼦元素内部的⼦元素是可以变, 这取决于⼦元素是否是可变对象. # 元组的第一层是不能进行赋值的, 内部元素没有要求 tu = (1,'哈喽',"how are you?",[]) tu[3].append("峰哥") # 这里的列表是子元素,而列表里面的子元素可以改变 print(tu) # (1, '哈喽', 'how are you?', ['峰哥']) tu = (1,'哈喽',"how are you?","alex") tu[3].upper() # (报错)转换成大写可以, 但是塞不进去了. print(tu)

    6. range

    # range()是一个可迭代对象,所以可以用for循环.
    
    range(n)  # 0 -> n-1
    for i in range(10):
        print(i)
     range(m,n)   # m -> n-1
    for i in range(1,10):
        print(i)
    
    range(m,n,q)  # m -> n-1 每q个取一个
    for i in range(1,10,3):
        print(i)
    
    for i in range(100,90,-1):
        print(i)
               0      1      2       3       4       5
    # lst = ["砂锅","馒头","盖浇饭","刀削面","大麻花","大煎饼"]
    
    # 获取到列表的索引. 拿到索引之后. 可以拿到元素
    for i in range(len(lst)):
        print(i)    # i就是list的索引
        print(lst[i])
    
    for el in lst:
        print(el)
  • 相关阅读:
    SSH
    List Map Set
    oracle中的in和exsit比较
    Hibernate n+1问题
    单例模式。
    把一段逗号分割的字符串转换成一个数组
    Hibernate总结
    myeclipse安装svn插件的多种方式
    LeetCode 14 Longest Common Prefix
    LeetCode 13 Roman to Integer
  • 原文地址:https://www.cnblogs.com/kangqi452/p/11280637.html
Copyright © 2011-2022 走看看