• python二:数据类型举例练习--小白博客


    一、#字符串

    res = 'hello,world'

    1、#字符串切片取值:*******

    print(res[0:5])    顾头不顾尾,取下标0-4的字符 
    print(res[0:-1:2])    步长为2,也就是隔一个取一个
    print(res[:-5])    下标为-5(包括-5)往右的字符不要了
    print(res[5:])    下标为5(不包括5)往左的字符不要了
    print(res[4])      取字符串中下标为4的字符

     

    2、#字符串格式化(%s和format)*****

    result = 'my name is {name}, my age is {age}'.format(name='申晨林', age=25)
    result1 = 'my name is {0}, my age is {1}'.format('申晨林',25) result = 'my name is %s, my age is %s' % ('申晨林', 25) result1 = 'my name is %s' % '申晨林'

     

    3、#字符串替换*****

    print(res.replace('l', 'sb', 2))    #2为替换个数

     

    4、#把列表变成字符串*******

    s = ''.join(['a','b','c'])          #前面的''中的内容会加在括号中每个元素的中间;例:s = 'd'.join(['a','b','c']) 则输出adbdc

     

    5、#把字符串变成列表(以l分割点)*******

    print(res.split('l'))

     

    6、#从右往左切,以.为分割,切3刀*******

    res1 = '192.168.1.1'
    print(res1.rsplit('.', 3))

     

    7、#统计字符串里某个字符的个数*******

    print(res.count('l'))

     

    8、#查找字符串中某个元素中最靠左的下标*******    #没有则报错

    print(res.index('o'))

     

    9、#查找字符串中的字母下标,如果所查字母有多个,则查最后一个    #没有则报错

    print(res.rindex('o'))

     

    10、#strip去除首尾字符*******

    res1 = '=====hello,world====='
    
    print(res1.strip('='))

     

    注:只是以'='开头或者结尾的字符会被删除。

    例:res1 = ' =====hello,world====='
    print(res1.strip('=')) 则输出“ =====hello,world”


    #去除右边的字符

    print(res1.rstrip('='))
    去除以'='结尾的字符

     

    #去除左边的字符

    print(res1.lstrip('='))
    去除以'='开头的字符

     

    11、#判断字符串结尾的字母

    print(res.endswith('w'))    #print()括号中加变量名字,一定不能加引号,否则会输出原内容;例:print('res') 则输出res

     

    12、#判断字符串开头字符是否是(w)

    print(res.startswith('w'))

     

    13、#encode转码,decode解码*******

    res1 = '你好'
    a = res1.encode('utf-8')
    print(a.decode('utf-8')

     

    14、#字符串拼接*******

    res1 = 'my name is'
    res2 = '申晨林'
    print(res1+res2)

     

    15、#小写字母边大写

    print(res.swapcase())      #转换大小写
    print(res.upper())        #小写变大写

     

    16、#判断是否是抬头

    print(res.istitle())

     

    17、#判断是否是小写

    print(res.islower())

     

    18、#判断是否是空格字符串,而不是判断字符串里是否有空格,是返回true,不是返回false

    res1 = ' '
    print(res1.isspace())

     

    19、#find是查找字符串里的元素下标,如果没有返回-1

    print(res.find('qq'))
    注:如果有多个相同元素,只显示第一个的下标

     

     

    #列表

    res = ['ab', 'bc', 'cd', 'd', 'aaa']

     

    1、#index取列表中元素为d的下标*******

    print(res.index('d'))

     

    2、#count统计列表中元素的个数*******

    print(res.count('ab'))

     

    3、#insert在下标为2的位置插入sb*******

    res.insert(2, 'sb')
    print(res)

     

    4、
    '''
    排序按照列表中元素字母排序,从a-z,如果首写字母一样,比较第二个,以此类推。。。
    如果是数字,按照从小到大排序
    '''

    res.sort()
    print(res)

     

    5、#extend或者+代表把两个列表追加合并成一个列表*******

    print(res + ['ss', 'vv', 'dd'])
    res.extend(['ss', 'vv', 'dd'])
    print(res)          #输出 ['ab', 'bc', 'cd', 'd','aaa','ss', 'vv', 'dd']

    注:res.extend('asd')
    print(res)          #输出 ['ab', 'bc', 'cd', 'd', 'aaa','a','s','d']

     

    6、#pop括号里不输入数值默认从右往左取出,如果括号里输入数值,那么就把列表中下标为括号里的数值的元素取出来*******

    print(res.pop(3))

     

    7、#clear清空列表中所有元素*******

    res.clear()
    print(res)

     

    8、#remove就是删除元素*******

    res.remove('aaa')
    print(res)

     

    9、#copy复制一个列表

    a = res.copy()
    print(a)

     

    10、#reverse反转

    res.reverse()
    print(res)

     

    11、#append追加一个元素*******

    res.append(['ssbb','aqe','ttt'])
    print(res)

     

    #字典

    以key/value的形式存储数据,存取数据快,key是唯一的

    info = {
    'name': 'bs',
    'high': 190,
    'gender': 'man'
    }


    1、#popitem取出字典中最后的元素*******

    (1)、info.popitem()
        print(info)        #除了最后的元素,都输出出来
    (2)、print (info.popitem())    #只输出最后一个元素

     

    2、#pop取出字典中key为name的value

    (1)、print(info.pop('name'))    #输出name元素对应的value
    (2)、info.pop('name')
        print (info)           #输出除去'name'元素以外的元素

     

    3、#setdefault如果字典当中没有这对key/value那么就添加到字典当中,如果有,就不添加

    info.setdefault('high','190')
    print(info)    #输出追加元素后的字典
    
    print (info.setdefault('age',18))    #只输出追加元素的value “18”

     

    4、#拷贝字典

    res = info.copy()
    print(res)

     

    5、#update把两个字典合并成一个,括号里的字典如果有相同的key将覆盖原字典*******

    info.update(info2)
    print(info)

     

    6、#items把字典当中key/value变成小元组形式,放在列表中*******

    print(info.items())          #输出dict_items([('name', 'bs'), ('high', 190), ('gender', 'man')])

     

    7、#keys把字典当中所有的key打印出来*******

    print(info.keys())

     

    8、#values就是吧字典当中所有的value打印出来*******

    print(info.values())

     

    9、#get取出相应key对应的value,如果get没有值,那么返回NONE,[]这种方法取值,没有值直接报错*******

    print(info.get('aaa'))
    print(info['aaa'])
    info['name'] = 'shuaige' #这种方式可以赋值
    info.get('name') = 'shuaige' #这种方式不能赋值

     

    10、#fromkeys快速定义一个空字典******* #前面的{}必须为空才可以

    res = {}.fromkeys(('name', 'age', 'high'), 'sss')
    print(res)
    #只能多个key对应一个value

     

    11、替换字典中的value

    info[key]='需要替换的value'

     

    12、替换key

    a = {"a":1}
    #变成
    a = {"b":1}
    #方法
    a["b"]=a.pop("a")

     

    #集合

    去重,不支持索引

    set1 = {1,2,3,4,5}
    set2 = {1,2,6,7,3,4,5}
    set3 = {'a','v','t','w'}

    1、#update合并2个集合

    set1.update(set2)
    print(set1)

     

    2、#pop随机取值

    print(set3.pop())

     

    3、#union:两个集合的并集

    print(set1.union(set2))

     

    4、#remove删除集合中的元素

    set3.remove('t')
    print(set3)

     

    5、#discard删除集合中的指定元素

    set3.discard('w')
    print(set3)

     

    6、#add添加一个元素

    set3.add('test')
    print(set3)

     

    7、#issubset set1是否是set2的子集

    print(set1.issubset(set2))

     

    8、#issuperset set1是否是set2的父集

    print(set2.issuperset(set1))

     

    9、#intersection查看两个集合的交集

    print(set1.intersection(set2))

     

    #内置函数

    1、len:长度       #空格也有长度

    s = 'hello,world'
    print(len(s))

     

    2、#in / not in

    l1 = [1,2,3,4]
    print(4 in l1)    #4不可以加引号
    print(4 not in l1)
    
    info = {
    'name':1,
    'age':22
    }
    print('1' in info)    #只能判断key是否在其中。value不可以
    print(len(info))    #输出 2;每个键值对当作一个长度
    set1 = {1,2,3,4}    #此为集合

     

    #布尔:

    True False,True就是为真,False就是为假
    #谨记
    #0,None,空都为假,其余为真(空格都为真)

    a = 0
    if a:
    print('ok')
    else:
    print('不ok')

     

    #引用计数和垃圾回收机制
    一个内存地址可以对应多个门牌号,一个门牌号只能对应一个内存地址
    1.在程序结束后,变量所占用的内存回收
    2.在门牌号全部摘除,变量所占用的内存回收

     

    #1.可变类型:在id不变的情况下,value可以变,则称为可变类型,如列表,字典
    #2. 不可变类型:value一旦改变,id也改变,则称为不可变类型(id变,意味着创建了新的内存空间)


    #可变类型:

    l1 = [1,2,3,4]
    print(id(l1))
    l1[2] = 99
    print(id(l1))
    info = {
    'name': 'fengzi',
    'age': 18
    }
    print(id(info))
    info['name'] = 'shuaige' #这种方式可以赋值
    print(id(info))
    info.get('name') = 'shuaige' #这种方式不能赋值

     

    #不可变类型

    a = 10000
    print(id(a))
    a = 20000
    print(id(a))
    
    s = 'aaaa'
    print(id(s))
    s = 'bbbb'
    print(id(s))

     

    数据类型练习题

    info ={
    'name':'john',
    'age':'john',
    'school':['清华大学','北京大学','复旦大学']
    }
    请取出值为清华的值
    print(info.get('school').pop(0)) #print命令可以进行继续筛选
    print(info.get('school')[0]) #切片也可以
    
    把复旦大学修改成西安交通大学
    info['school']=['清华大学','北京大学','西安交大']
    print(info)
    with open('test.txt','r',encoding='utf-8') as i:
    for j in len('i.read()'):
    print(i.read()[1])

     

  • 相关阅读:
    docker-排除故障
    python的标识符
    python的数据类型
    python的数与字符串
    场景法
    正交试验法
    错误推测法
    决策表法
    因果图法
    python基础--用python执行系统命令
  • 原文地址:https://www.cnblogs.com/zhou2019/p/10547753.html
Copyright © 2020-2023  润新知