强制转换 2.字符串 s...">
美文网首页
day-7 容器类型

day-7 容器类型

作者: 我才是鳄鱼宝宝 | 来源:发表于2018-10-08 16:58 被阅读0次

    01

    print('hello')
    

    """

    1.基本类型

    int float bool complex
    类型名()--->强制转换

    2.字符串

    str
    a.
    b.获取单个字符--->字符串[下标]
    c.获取部分字符--->字符串[起始下标:结束下标],也可以省略下标
    d.+ ,*,比较,in ,not in
    e.len(),chr(),ord()
    f.格式字符串:%s,%d,%.nf

    3.分之结构

    if 条件:
    执行语句
    if 条件:
    语句1
    else:
    语句2
    if 条件1:
    语句1
    elif 条件2:
    语句2
    else:
    语句3

    4.循环结构

    for变量 in 序列:
    循环体

    while 条件语句:
    循环体

    break,continue,else

    """

    02

    """

    列表(list)

    1.是Python的容器类的数据类型,可以存储多个数据

    可变是指列表中的元素值和位置以及列表的长度可变
    可以增,删,改
    有序--->下标来获取元素

    2.字面量

    [元素1,元素2,。。。。]
    列表的元素可以是任何类型的数据,
    """
    list1 = [1,23,'abc']#声明变量list1,给它赋一个列表,有三个元素

    list2 = [
        [1,2],
        'abc',
        False
    ]
    print(type(list2))
    name= '阿拉胖'
    names = ['x','小胖']
    print(names)
    

    03

    1.获取单个元素

    """
    列表[下标]
    说明:列表一旦确定,列表中的元素的下标就确定了。下标的范围0列表长度-1或者-1列表长度

    """
    names = ['小胖','大胖','胖胖']
    print (names[0],names[-2])
    

    2.获取部分元素(切片)--->结果是列表

    '''
    和字符串切片一样。
    列表[起始下标:结束下标],列表[起始:结束:步长]

    '''
    print(names[1:3])

    04

    films = ['绿巨人','钢铁侠','蜘蛛侠']
    

    1.增

    '''
    列表.append(元素),列表最后加

    '''
    films.append('美国队长')
    print(films)
    '''
    

    b.列表.insert(下标,元素)--->指定的位置,指定下标前的位置

    '''
    films.insert(1,'胖胖')
    print(films)
    

    2.删

    '''
    a,
    del 列表[下标] --->删除指定位置的元素
    del语句是Python删除数据的语法(任何数据)

    '''
    heros = ['盖伦','托儿索','儿童劫']
    del heros[2]
    print (heros)
    
    '''
    

    b.列表.remove(元素)--->删除指定的元素
    但是元素有多个,只删除最前面的那个

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

    c.
    列表.pop()---->将列表最后一个元素取出

    列表.pop(下标)--->将下标对应的元素取出

    '''
    beauty = ['胖胖','小小胖','阿拉胖','小胖','大胖']
    beauty.pop()
    person=beauty.pop()
    print(beauty,person)
    
    print('=====')
    person = beauty.pop(1)
    print(beauty,person)
    '''
    

    3.改

    '''
    列表[下标]=新值 --->修改指定下标对应的元素

    '''
    teachers = ['小胖','大胖','阿拉胖']
    teachers[0]='大小胖'
    print(teachers)
    

    05

    1.遍历列表中的元素

    """
    for循环变量列表,拿到的就是列表中的每个元素

    """
    numbers = [12, 34, 56, 45, 90, 89]
    for x in numbers:
        print(x)
    
    for index in range(len(numbers)):
        print(index, numbers[index])
    

    1.用一个列表,保存一个班5个学生的成绩,去求这个班的学生的总成绩

    scores = [89, 78, 90, 56, 89]
    sum1 = 0
    for score in scores:
        sum1 += score
    
    print(sum1)
    

    2.用一个列表,保存多个人的名字(英文的), 将列表中所有的人的名字首字母大写

    names = ['zhangsan', 'XiaoMing', 'lisi', 'wangwu']
    

    方法1:

    下标

    index = 0
    for name in names:
        # 取出首字母
        first = name[0]
        # 判断首字母是否是大写
        if first.isupper():
            index += 1
            continue
    
        # 新的名字
        new_name = name.title()
        # 修改名字
        names[index] = new_name
    
        index += 1
    print(names)
    
    
    names = ['zhangsan', 'Hu', 'HaHa', 'XiaoMing', 'lisi', 'wangwu', 'Head']
    # 方法二:
    for index in range(len(names)):
        name = names[index]
        # 如果是小写
        if name[0].islower():
            names[index] = name.title()
    print(names)
    
    

    3.删除上一个列表中,首字母是H的人的名字

    """
    names = ['Zhangsan','XiaoMing', 'Lisi', 'Wangwu']
    names[:] = ['Zhangsan','HaHa', 'XiaoMing', 'Lisi', 'Wangwu', 'Head']
    
    for name in names[:] 相等于:
    new = names[:]
    for name in new:
    
    """
    for name in names[:]:
        if name[0] == 'H':
            names.remove(name)
    print(names)
    
    
    """
    ['zhangsan','HaHa','Hu', 'XiaoMing', 'lisi', 'wangwu', 'Huo']
    index = 0  zhangsan 
    index = 1  HaHa   ['zhangsan','Hu', 'XiaoMing', 'lisi', 'wangwu', 'Huo']
    index = 1  Hu  ['zhangsan', 'XiaoMing', 'lisi', 'wangwu', 'Huo']
    index = 1  XiaoMing
    index = 2  Lisi
    index = 3  wangwu
    index = 4   Huo   ['zhangsan', 'XiaoMing', 'lisi', 'wangwu']
    index = 4   
    """
    names = ['zhangsan', 'HaHa','Hu', 'XiaoMing', 'lisi', 'wangwu', 'Huo']
    index = 0
    while index < len(names):
        name = names[index]
        if name[0] == 'H':
            del names[index]
            continue
        index += 1
    print(names)
    

    用一个列表保存一个班的学生的成绩,删除成绩中不及格的学生

    grade = [12, 78, 98, 78]
    new = grade[:]
    for x in new:
        if x < 60:
            grade.remove(x)
    
    print(grade, new, grade[:])
    

    06

    1.+

    """
    列表1+列表2--->将列表1和列表2加起来成一个新的列表
    """
    list1 = [1, 2, 5, 3]
    list2 = ['a', 'b', 'c']
    list3 = list1 + list2
    print(list3)
    

    2.****

    3.比较运算

    """
    方法一:
    ==,两个列表比较大小,是比较每个元素的大小
    方法二:
    is,一个变量有id,value和type三个元素
    id--->地址(数据在内存中存储的地址)
    value--->数据的值
    type--->数据的类型
    Python中变量存储数据的时候数据的地址(id)

    ==---->判断值是否相等
    is--->判断地址是否相等

    """
    list1 = [1, 2, 3]

    07

    list1 = ['a', 'aa', 'aaa']
    list2 = list1#将list1数据的id赋给list2
    
    list2.append('aaaa')
    print(list2)
    print(list1)
    
    list3 = list1[:] #将list1中的数据拷贝一份储存到新的内存区域,然后将新的地址给list3
    
    list3.pop(0)
    print(list3)
    print(list1)
    

    """
    总结:用一个列表给另外一个列表赋值时,要注意如果是直接赋值,
    可能后因为修改其他的一个列表的元素而影响另外一个列表。如果不想相互影响,赋值的时候切片或者拷贝

    """
    list3.pop(0)
    print(list3)
    print(list1)
    

    08

    1.in和not in

    """
    列表1 in 列表2--->1是否在2中的元素
    列表1 not in 列表--->1是否不是2的元素

    """
    print([1, 2, 3] in [1, 2, 3, 4, 5])
    print([1, 2, 3] in [[1, 2, 3], 2, 3, 4])
    

    2.len()

    """
    len(列表)--->获取指定列表的长度

    """
    print(len([1, 2, 3, 4, 5]))

    3.max()和min()

    """
    max(列表) --->获取列表最大的元素
    min(列表)--->获取列表最小的元素
    要求:
    a:列表元素类型要一致
    b: 列表元素支持><操作

    """
    list1 = [1, 2, 3, 100, 90]
    print ('max:',max(list1))
    print('min:',min(list1))
    

    4.list()

    """
    list(数据)--->指定的数据转换成列表
    注意:只有序列可以被转换成列表
    序列:字符,range,列表,字典,元祖,集合,

    """
    print(list('abcde'))
    print(list(range(5)))
    

    5.count()

    """
    列表.count(元素)--->获取指定元素在列表中的个数

    """
    names = ['千与千寻', '龙猫','龙猫']
    print(names.count('龙猫'))

    6.extend

    '''
    列表。extend(序列)--->将序列的元素添加到列表中

    '''
    names.extend('abc')
    print(names)

    7,index()

    '''
    列表.index(元素)--->获取元素对应的下标
    注意:有多个元素值获取最前面的元素
    如果元素不存在后报错
    '''

    names = ['呵呵哒', '呵呵哒', '哈哈哒','嘿嘿哒']
    print(names.index('呵呵哒'))
    # 8.reverse
    '''
    

    列表.reverse()--->将元素倒数

    '''
    names.reverse()
    print(names)

    9soer

    '''

    列表.sort()--->将列表元素升序(从小到大)
    列表.sort(revese=Ture)--->将元素降序
    要求:
    a:列表元素类型要一致
    b: 列表元素支持><操作

    '''
    scores = [12, 89, 78, 90, 100]
    scores.sort()
    print(scores)
    
    scores = [12, 89, 78, 90, 200]
    scores.sort(reverse=True)
    print(scores)
    

    9.clear()

    '''
    列表.clear()--->清空列表元素

    '''
    scores.clear()
    print(scores)

    copy

    '''
    列表.copy()--->将列表元素复制产出新的列表

    '''
    list1=[1, 2, 3, 4, 5]
    new=list1.copy()
    print(new,id(list1),id(new))
    

    作业1,自学元祖(不可变的列表)

    列表中的语法哪些适用于元祖

    相关文章

      网友评论

          本文标题:day-7 容器类型

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