• CSIC_716_20191105【数字、字符串、列表】


    python数据类型及其内置方法

    一、整型:主要用于数学运算

    其他进制----->转十进制    

    """
    其他进制转换为十进制
    通过int('x进制数',x)实现
    """
    a = int('110', 2)
    print(a)  # 6
    b = int('7731', 8)
    print(b)  # 4057
    c = int('e1f3', 16)
    print(c)  # 57843
    

    十进制----->转其他进制

    十进制(decimal)进制转其他进制
    '''
    a = bin(8)
    print(a)  # 转二进制(binary) 0b1000
    b = oct(100)
    print(b)  # 转八进制(octal) 0o144
    c = hex(93332)
    print(c)  # 转十六进制(hexadecimal) 0x16c94
    

      

    整型:是无序的,不可变的,存的是一个值。

    是否有序:判断是否有序,就看其能否通过索引取值

    是否可变:判断是否可变,规则为:如果值变id不变,说明该类型可变;如果值变id也变,说明该类型不可变

     

     

    二、字符串

    1、字符串的定义方式:

    单、双、三引号可以定义字符串,在字符串引号前加字母‘r’,可以将字符串中的特殊字符转义。

    2、取值

    字符串可以通过索引取值,取到字符串中某个位置的值,但是取出来只能显示不可更改。

    '''
    字符串取值
    '''
    str1 = 'abcdefgh'
    print(str1[1:4])
    print(str1[0:4])  #索引取值,顾头不顾尾,故只能取0,1,2,3中的值
    print(str1[:4])  #[:4]和[0:4]效果一样
    print(str1[4:])
    print(str1[4:len(str1)])  #[7:]和[7:len()]效果一样
    print(str1[1:4:2])  #步长为2,跳两步取值
    print(str1[::-1])  #从后往前,反向取值
    print(str1[::-2])  #从后往前,跳两步取值
    

      

    5、左右两端去特殊字符操作  .strip("特殊字符" ) ;

       左端去特殊字符操作  .lstrip("特殊字符" )

          右端去特殊字符操作  .rstrip("特殊字符")

     

    6、切分字符串

    '''
    split切分字符串
    '''
    a = 'bravehearthearmeroar'
    print(a.split('h'))  # ['brave', 'eart', 'earmeroar']
    

    切分字符串之后,指定字符不会出现在结果列表中,

     

    7、字符串长度,或者说字符串中元素的个数,包含空格

    '''
    len()获取当前数据中的元素的个数
    '''
    a = 'bravehearthearmeroar'
    print(a.__len__())
    print(len(a))
    

    8、字符串可以通过for循环逐个取出其中的元素。

    '''
    for循环取字符串中的元素
    '''
    a = 'bravehearthearmeroar'
    print(type(len(a)))
    for i in range(len(a)):
        print(a[i], end=' ')  # b r a v e h e a r t h e a r m e r o a r 
    

     

    9、杂项

    字母转大写,字母转小写

    大写:upper(),小写:lower()

    判断是否已symbol开头   startswith( "symbol"),

    判断是否以symbol结尾   endswith( "symblo")   结果为布尔值。

    isdigtal( “”symbol”)  判断symbol中传入的值,是否是数字

    注意:输入浮点数也不行,isdigtal只能判断是否是int型整数

    a = '2.1'
    print(a.isdigit())  # False
    

      

    (“分隔符”).join( 可迭代对象)

    join方法的应用原理:将可迭代对象中的每个元素,按照分隔符拼接成字符串

    for example:

    a = 'bravehearthearmeroar'
    print('|'.join(a))  #b|r|a|v|e|h|e|a|r|t|h|e|a|r|m|e|r|o|a|r
    

    replace(" 旧 "," 新 ")   将字符中所有的旧的元素,换成新的元素

    a = 'bravehearthearmeroar'
    print(a.replace('he', '**'))  # brave**art**armeroar
    

     

    10、center( (int型)个数,‘symbol’)

    a = '欢迎光临'
    print(a.center(15,'8'))  # 888888欢迎光临88888
    print(a.center(14,'-'))  # -----欢迎光临-----
    

      

    字符串是有序的,不可变的,存储的是一个值

    三、列表

    1、列表取值:列表通过索引取值,不仅可以取值,还可以通过索引改值。

    2、索引切片:

    l1 = [0,1,2,3,4,5,6,7]
    print(l1[1])  # 1
    print(l1[1:4])  # [1, 2, 3]
    print(type(l1[1:4]))  # <class 'list'>
    

    索引切片,取出来的东西是列表

    3、列表的增加操作

    .append( "追加一个值"),追加在列表的最后

    .insert( 指定索引,‘插入的值’)

    .extend( 可迭代对象)   通过可迭代对象,传入可迭代对象中的所有值

    '''
    append
    insert
    extand
    '''
    l1 = [0,1,2,3,]
    l1.append('append')                          # [0, 1, 2, 3, 'append']
    print(l1)
    l1.insert(3,'insert3')        #insert(指定索引值,插入内容)
    print(l1)                                # [0, 1, 2, 'insert3', 3, 'append']
    l2 = ['extend1','extend2']    # l2是可迭代对象iterable
    l3 = range(4)           # l3是可迭代对象iterable
    l1.extend(l2)
    print(l1)                                # [0, 1, 2, 'insert3', 3, 'append', 'extend1', 'extend2']
    l1.extend(l3)
    print(l1)                                # [0, 1, 2, 'insert3', 3, 'append', 'extend1', 'extend2', 0, 1, 2, 3]
    

      

    4、列表的删除操作

    remove(指定的值)   直接从列表中删除指定的值,此方法不通过索引

    pop(索引)      如果pop方法中不传值,则从最后倒着删除,如果传索引,则删除索引处的值

    '''
    remove
    pop
    '''
    l1 = [0, 1, 2, 3, 4, 5, 6]
    a = l1.remove(3)
    print(a)  # None   不返回参数
    print(l1)  # [0, 1, 2, 4, 5, 6]
    b = l1.pop()
    print(b)  # 6  未指定pop的参数,所以删除最后一个,并能返回删除的值
    print(l1)  # [0, 1, 2, 4, 5]
    c = l1.pop(1)
    print(c)  # 1
    print(l1)  #  [0, 2, 4, 5]
    

     remove没有返回值;pop有返回值

  • 相关阅读:
    Android Studio AVD和SDK Manager灰色不能点击的问题。
    回溯:最佳调度问题
    回溯:八皇后问题(蒟蒻)
    usaco1.4.3等差数列
    单调队列练习题(oj p1157 p1158 p1159)
    OJP1147括号匹配加强版(栈)与P1153乱头发节(单调栈)
    NOIP2017游记......
    火柴棒等式c++
    潜伏者(noip09年t1)解题报告 C++
    2016noipday1t1玩具迷题结题报告
  • 原文地址:https://www.cnblogs.com/csic716/p/11800128.html
Copyright © 2020-2023  润新知