美文网首页
#Day07总结

#Day07总结

作者: Heyjoky | 来源:发表于2018-10-08 19:49 被阅读0次

    认识列表

    1、列表是python中的容器类数据类型,可以用来存储多个数据
    是可变的,有序的
    可变是指列表中元素的值、位置和长度可变,列表可以进行增删改
    有序指可以通过下标获取元素

    2、字面量:
    [元素,元素,元素,……]

    列表中的元素可以是任何类型的数据,包含整型浮点等数据类型,
    还可以有列表、字典、元祖、集合、函数、类的对象等,变量也可以作为列表中的元素

    list = [1,32,"abc"]
    声明了一个变量list,数据类型是列表,包含3个元素1,32,"abc"

    name = "路飞"
    names = ['小明','小花','小红',name]

    获取列表中的元素

    1、获取单个元素
    """
    列表[下标]
    说明:列表一旦确定,列表中每个元素的下标就确定了,范围0列表长度-1或-1-列表长度
    """

    2、获取多个元素(切片)---> 结果是列表
    '''
    和字符串切片一样
    列表[起始下标:结束下标],列表[起始下标:结束下标:步长]
    从起始下标开始,获取到结束下标前为止

    列表中元素的增删改

    films = ['Iron Man','蜘蛛侠','逐梦演艺圈','小时代']
    1、增加元素
    '''
    a、列表.append(元素)
    在列表最后添加一个元素

    b、列表.insert(下标,元素)
    在指定的下标前添加指定元素
    '''
    films.append('Captain America')

    films.insert(1,"Halk")

    print(films)

    2、删除元素
    '''
    a、del 列表[下标]
    删除列表中指定位置的元素

    b、列表.remove(元素)
    删除列表中指定元素
    如果该元素在列表中有多个,只删除第一个
    c、列表.pop()
    将列表中最后一个元素取出
    列表.pop(下标)
    将列表中指定下标对应的元素取出
    '''
    heros = ['盖伦','石头','劫','亚索']

    del heros[2]
    print(heros)

    heros.remove('盖伦')
    print(heros)

    hero = heros.pop

    3、修改列表中的元素
    '''
    列表[下标] = 新值
    修改指定下标对应的元素
    '''
    teacher = ['aaa','bbb','ccc']
    teacher[0]= 'ddd'
    print(teacher)

    列表相关运算

    1、列表加法运算+
    """
    列表1 + 列表2
    将列表1和列表2中的元素合并,产生一个新的列表
    """
    list1 = [1,2,3]
    list2 = ['a','b','c']
    list3 = list1+list2
    print(list3)
    2、列表乘法运算*
    """
    列表*n
    列表中的元素重复n次,产生一个新的列表
    """

    print(list1*3)

    3、比较运算
    '''
    列表1 == 列表2
    判断两个列表元素是否相等

    4、补充:
    是否相等的两种方式:==和is
    一个变量有id、value和type三个元素
    id:数据在内存中的地址
    value:数据的值
    type:数据的类型
    Python中存数据存的是数据的id,取出时取出的是value
    变量给变量赋值,赋的是地址(id)
    ==:判断的是值是否相等,或列表中的元素是否相等
    is:判断的是地址是否相等
    '''
    list15 = [1,2,3]
    list25 = [1,2,3]
    print(list15[0] is list25[0])

    list21 = ['a','aa','aaa']
    list22 = list21#将21的地址赋给22
    list22.append('aaaa')
    print(list21)

    list23 = list21[:]
    list23.pop(0)
    print(list21)

    总结:
    用一个列表给另一个列表赋值时,如果是直接赋值,
    可能会因为修改其中一个列表的元素而改变另一个,
    若不想相互影响,直接赋切片或者直接拷贝

    列表相关方法

    1、元素1 in 列表1
    元素1是否是列表1的元素

    元素2 not in 列表2
    元素2是否不是列表2的元素

    '''
    2、len()
    '''
    len(列表)--->获取列表长度
    '''
    3、max()和min()
    '''
    max(列表)--->获取列表中元素最大值
    min(列表)--->获取列表中元素最小值
    ps:
    a、列表中元素的数据类型必须一致
    b、列表中元素必须支持>,<操作

    '''
    4、list(数据)
    '''
    list(数据)--->将指定数据转化乘列表
    ps:只有序列可以转化为列表
    序列:字符、range、列表、字典、元祖、集合、迭代器

    '''
    5、'''方法count()
    列表.count(元素)--->获取指定元素在列表中的个数
    '''
    6、extend()
    '''
    列表.extend(序列)--->将序列中的元素添加到列表中
    '''
    7、index()
    '''
    列表.index(元素)--->获取指定元素在列表中的下标
    ps:如果元素在列表中有多个,获取第一个该元素的下标
    若元素不存在则报错
    '''
    8、reverse()
    '''
    列表.reverse()
    将列表中的元素倒序
    '''
    9、sort()
    '''
    列表.sort()--->将列表中的元素有小到大排序
    列表.sort(reverse = True)--->将列表中的元素有大到小排序
    ps:
    a、列表中元素的数据类型必须一致
    b、列表中元素必须支持>操作
    '''

    10、sorted()
    '''
    将原列表升序排序,生成新列表,不改变原列表顺序
    score = [1,52,32,4,35]
    new_score = sorted(score)
    print(new_score)
    print(score)

    也可以new_score = sorted(score,reverse = True)
    '''
    11、copy()
    '''
    列表.copy--->将列表中的元素复制一份,产生一个新列表,跟列表[:]功能一样

    D07练习题

    通过for循环直接遍历一个列表,拿到的就是列表中每个元素
    '''numbers = [1,2,3,4,5]
    for x in numbers:
    print(x)

    for index in range(len(numbers)):
    print(index,number[index])'''
    """

    1、用一个列表保存5个学生的成绩,去求这个班学生的总成绩
    grade = 0
    grades = [13,65,87,98,66]
    for x in grades:
    grade += x
    print(grade)

    2、用一个列表,保存多个人的名字(英文),将列表中所有人的名字首字母大写
    names = ['harry','loly','Huang','coco','james','haha']

    for index in range(len(names)):
    name = names[index]
    names[index] = name.upper()

    print(names)

    3、删除一个列表中,名字首字母是H的人的名字
    for name in names[:]:
    if name[0] == 'H':
    names.remove(name)

    print(names)

    index = 0
    while index < len(names):
    name = names(index)
    if name[0] == 'H':
    del name[index]
    continue
    index += 1

    print(names)
    """
    4、用一个列表遍历一个班成绩,删除不及格的成绩
    gradess = [12,45,66,44,22,89,90]
    '''
    for grade1 in gradess[:]:
    if grade1 < 60:
    gradess.remove(grade1)
    print(gradess)
    '''
    index = 0
    while index < len(gradess):
    grade = gradess[index]
    if grade < 60:
    gradess.pop(0)
    continue
    index += 1
    print(gradess)

    相关文章

      网友评论

          本文标题:#Day07总结

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