美文网首页
day6 列表基本操作

day6 列表基本操作

作者: 遇见那天的雨真大 | 来源:发表于2018-11-12 17:21 被阅读0次

    1.列表(list)

    列表是python内置的可变并且有序的容器类数据类型(序列)
    有序:可以通过下标获取元素
    可变:指的是列表中元素的个数,元素的值以及元素的位置可变(支持增删改查)
    列表的字面量:中括号括起来,里面有多个元素,元素之间用 , 隔开
    [元素1,元素2....元素n]
    元素:元素里面的内容可以是任何类型的数据。同一个列表,不同元素的类型可以不一样.
    列表举例:

    list1 = [10,20]
    print(list1)
    list2 = [10,20,"lorry",True,[1,2]]
    list3 = []
    print(list2,list3)
    class_one =[["lorry",100],['lorrybz',10]]
    print(class_one[0])
    

    2.列表增删改查

    2.1.查,获取列表的元素

    • a.获取单个元素
      列表[下标] - 获取指定下标的对应的元素,
      列表一旦确定,列表中的每个元素都对应一个下标
      下标的范围【0-列表长度-1】 or 【-1 - -列表长度】
      下标不能越界
    films =["欧美","日韩","国产","偷拍"]
    print(films[1])
    
    • b.获取多个元素(切片)
      结果还是一个列表
      列表[开始下标:结束下标:步长]
      列表[开始下标:结束下标]
    films =["欧美","日韩","国产","偷拍"]
    print(films[0:3])
    
    • c.遍历列表(将列表中元素一个一个的取出来)
      for 变量 in 列表 用变量获取列表中的元素。
    方法一:直接获取列表中元素
    names = ["小明","小花","小红","黄梅梅"]
    for item in names:
        print(item)
    
    方法二:通过遍历下标获取获取列表中元素
    for index in range(len(names)):
        print(names[index])
    

    2.1.增,获取列表的元素(a.append())

    films =["欧美","日韩","国产","偷拍"]
    films.append("人妻")
    print(films)
    

    练习:#录入学生成绩,保存到一个列表中。(录入的时候不断的输入学生的成绩,知道输入end位置。)

    scores =[]
    flag = True
    while flag:
        score = input("请输入成绩(结束输入end):")
        if score != "end":
            scores.append(int(score))
        else:
            flag = False
    print(scores)
    

    2.2增,a.insert(下标,元素)

    在制定 的下标前插入指定的元素。

    films = ['欧美', '日韩', '国产', '偷拍', '人妻']
    films.insert(2,"萝莉")
    films.insert(0,"少妇")
    print(films)
    

    练习:有一个有序的数列【1,7,34,67,100】, 输入任意一个数列,插入后的数列还是从小到大的排序。

    list1 = [1,7,34,67,100]
    list2 = []
    list3 = []
    while True:
        a = input("请输入数字(end结束):")
        if a.isdigit():
         list1.append(int(a))
        elif a == "end":
            break
        else:
            print("重新输入(end结束):")
    print(list1)
    list1.insert(-1,20)
    a = len(list1)
    for i in range(a):
        aa = min(list1)
        list3.append(aa)
        list1.remove(aa)
    print(list3)
    
    nums = [1,7,34,67,100]
    value = int(input("请输入一个数字"))
    for index in range(len(nums)):
        if nums[index] >= value:
            nums.insert(index,value)
            break
    else:  #如果没有找到一个比输入大的元素。
        nums.append(value)
    print(nums)
    

    2.3.删除列表的元素

    • a.del列表[] 删除列表中指定下标对应的元素
      del 关键字,可以删除列表任何元素
    films = ['欧美', '日韩', '国产', '偷拍', '人妻']
    del films[-1]
    print(films)
    
    • b.remove(元素) 删除列表中指定的元素
      如果指定的元素在;列表中有多个,只是删除列表中前面的一个
    films = ['欧美','人妻','日韩','国产','偷拍','人妻']
    films.remove("人妻")
    print(films)
    
    • c.列表.pop(元素) 去除列表最后一个元素
      列表.pop(下标) - 去除列表中指定下标对应的元素
    films = ['欧美', '日韩', '国产', '偷拍', '人妻']
    a = films.pop()
    b = films.pop(0)
    print(films);print(a);print(b)
    

    例子:有一个列表,列表中有数字和字符串两种类型的元素。要求将列表中的字符串全部放到另外一个列表中。

    list1 = [1,"ab",303,"hello",89,9,90]
    str1 = []
    num = []
    for item in  list1:
        if isinstance(item,str):
            str1.append(item)
        else:
            num.append(item)
    print(str1)
    print(num)
    
    list1 = [1,"ab",303,"hello",89,9,90]
    list2 = []
    index = 0
    while 0 <= index <len(list1):
        if isinstance(list1[index],str): #取出
            item = list1.pop(index)
            list2.append(item)
            continue
        index +=1
    print(list1)
    print(list2)
    

    2.4.改(修改列表元素的值)

    列表[下标] = 新值 -将列表中指定下标对应的元素改成指定的值。

    films = ['欧美', '日韩', '国产', '偷拍', '人妻']
    films[-1] = "萝莉"
    print(films)
    

    3.列表运算

    • 1.+ 列表[]+列表[] 使用两个列表中原始,产生一个新的列表
    list1 = [1,2,3]
    list2 = ["lorry"]
    print(list1+list2)
    
        • 列表[]*n(正整数) 使用两个列表中原始,产生一个新的列表.
    list1 = [1,2,3]
    list2 = ["lorry"]
    print(list1*3);print(list2*3);print((list1+list2)*3)
    
      1. in ,not in
        元素 in 列表 判断指定的元素是否在列表中
        元素 not in 列表 判断指定的元素是否不在列表中
    names = ["小明","lorry","lorrbz","路飞"]
    if "lorry" in names:
        print("nice,喜提500万")
    else:
        print("滚蛋")
    
      1. len(列表) 获取列表长度的个数
    names = [["小明","小花"],"lorry",{"a":12,"n":50},lambda x:x*2]
    print(len(names))
    
    • 5.list(数据) 将其他数据转换成列表
      注意:数据只能是序列,转换的方式是将序列中元素作为列表的元素
    str1 = "hello"
    print(list(str1))
    print(list(range(10,20)))
    
    • 6.max(列表) - 获取列表中元素的最大值
      min(列表) - 获取列表中元素的最小值
      注意:列表要求:
      a.列表中元素类型都一样
      b。元素对应的类型,支持比较大小,支持比较运算符
    print(max([1,45,6,89,20]))
    print(min([1,45,6,89,20]))
    print(min(["患者","aaa","lalal","一","\u95fd"]))
    

    相关文章

      网友评论

          本文标题:day6 列表基本操作

          本文链接:https://www.haomeiwen.com/subject/vtbcfqtx.html