zoukankan      html  css  js  c++  java
  • Python Day4-5

    一 join方法

     主要是做字符串的拼接:join后面跟的类型必须是要可迭代得到对象

      for循环的对象是可迭代对象

    
    
    str = "-";
    seq = ("a", "b", "c"); # 字符串序列
    print str.join( seq );
    输出结果:
    a-b-c
     

    二 break  和 contionue在for循环中也可以使用,用法和while循环一样

      break还可以退出当前的循环,回到上一级的循环

    for i in range(1,10):
            print(i)
            for i in range(10,20):
                print(i)
                    
        for i in range(1,10):
            print(i)
            break
            for i in range(10,20):
                print(i)
        for i in range(1,10):
            print(i)
            for i in range(10,20):
                print(i)
            break
    
        for i in range(1,10):
            print(i)
            for i in range(10,20):
                print(i)
                break
            break
            
        for i in range(1,10):
            print(i)
            for i in range(10,20):
                print(i)
                break
                
        flag = False
        for i in range(1,10):
            print(i)
            if flag:
                break
            for i in range(10,20):
                print(i)
                flag = True
                break
                
        ==================
        for i in range(1,10):
            print(i)
            continue
            for i in range(10,20):
                print(i)
                
        for i in range(1,10):
            print(i)
            for i in range(10,20):
                continue
                print(i)
        ===================
        for i in range(1,10):
            print(i) # 1,2
            for j in range(i,10): # 2,9
                print(j)
            
    
    
        for i in range(1,10):
            print(i) 
            for j in range(10,i,-1): 
                print(j)

    三 各种数据类型外部,都不能加上逗号,不然都会变成元组的类型,带上逗号不能在值外部得首位,不然就会报错。

    # a=1,
    # print(a,type(a))
     
     
     
    # a='fang',
    # print(a,type(a))
     
     
    # a=1,2,3,4,5,
    # print(a,type(a))
    #
     
     
    # b='wa','sa',
    # print(b,type(b))
     
     
     
    # c=[1,2],[2,4]
    # print(c,type(c))
    #
     
     
    # d={'fang':18},{'jie':19}
    # print(d,type(d))

    四 python2 和python3中range的区别

     在python2 中range是直接在内存中直接就会产生数据,所以浪费内存,但是为了节省内存,python2中的xrange就会比较好一点,xrange是不会直接产生数据的,而是在你调用的时候才会产生数据,属于未知的类型(生成器),而且还会判断数据产生后得到一段时间假如没有被调用,就会自动的删除。

     而在python3 中,将range优化,与python2中的xrange功能是一样的。

    # py35
    # range() = py27 xrange()
    # 应用
    # for num in range(1,101):
    #     if num == 77:
    #         continue
    #     print(num)
    # 2. 步长(默认1)
    # for num in range(1,101,1):
    #     print(num)
     
    # for num in range(100,0,-1):
    #     print(num)
    # 应用
    # li = [11,22,33,44,55,66]
    # for num in range(0,len(li)):
    #     print(num)

    五 预备知识

     只要代码执行放在内存,就可以直接调用

    # if 1 == 1:
    #     name = '123'
    # print(name) # 123
     
    # if 1!=1:
    #     name = '123'
    # print(name) # None

    如果变量未创建(未定义)就会报错

    六 占位符还可以赋值变量使用

    pl = "我叫%sfdf"
    name = tpl %('骑兵',)
    name = tpl %('步兵',)

     七 判断某个值是否与字典内的某个值相同

    # d={
    #     'k1':'v11',
    #     'k2':'v2'
    # }
     
    # val='v1'
    # for i in d.values():
    #     if val == i:
    #         print(val)

    练习:

    dic = {'k1':"v1",'k2':'v2'}
            
            data = dic.get('kk1') # None
            
            
            len
            dict['k1'] = "vv1"
            for
            
            val = "v1" in dic # False
    
    
            # 出错点
            # 题:dic = {'k1':"v1",'k2':'v2'}把key="k1",键值对删除
            #     del dic['k1']
            
            # 题:dic = {'u1':"v1",'k2':'v2','k3':'v3'}把key中存在k,键值对删除
            #     
    
                
                dic = {'u1':"v1",'k2':'v2','k3':'v3'}
                # 不要在循环当前字典的过程中,修改当前字典大小
                
                # 错误
                # for key in dic:
                #     if 'k' in key:
                #         del dic[key]
    
                # 正确方式 
                dic_key_list = []
                for key in dic:
                    dic_key_list.append(key)
    
                for row in dic_key_list:
                    if 'k' in row:
                        del dic[row]
                print(dic)

    八 删除列表时会影响列表的长度,从而使取得索引只有影响

     练习:删除列表基数索引所对应的值

    1. 索引为奇数值,删除
            # 删除列表元素时,会影响列表长度,从而使得索引取值时,容易出现错误。
             
            li = [11,22,33,44,66]
         
            li = [11, 22, 33, 44, 66] # 0
            # 索引为奇数值,删除
            for i in range(0,len(li)): # 4,0
                del li[i]
            print(li)
     
            # 解决方案一:
            # li = [11, 22, 33, 44, 66] # 0
            # new_list = []
            # # 索引为奇数值,删除
            # for i in range(0,len(li)):
            #     if i%2 == 0:
            #         new_list.append(li[i])
            # li = new_list
            # print(li)
     
            # 解决方案二:
            # li = [11, 22, 33, 44, 66] # 0
            # # 索引为奇数值,删除
            # for i in range(len(li)-1,-1,-1): # 4,0
            #     if i%2 == 1:
            #         del li[i]
            # print(li)
             
        2. 切片+步长
            li = [11, 22, 33, 44, 66]
            del li[0:4]
            del li[0:4:2]
            print(li)

     九 数据类型之间的转换

       1 数字和字符串的转换

    #数字转成字符串
    # a=123
    # a=str(a)
    # print(a,type(a))
    #
    # #字符串转换成数字
    # a='234'
    # a=int(a)
    # print(a,type(a))

       2 列表和元祖的转换

    ## 列表转换元组
    # a=['as','afs']
    # a=tuple(a)
    # print(a,type(a))
     
    # #元组转换成列表
    # a=('sa','gdf')
    # a=list(a)
    # print(a,type(a))

     3 字符串和列表,还有元组的转换

    ##字符串转换成列表
    # a='fsfsaasaa'
    # a=list(a)
    # print(a,type(a))
     
    ##字符串转换成
    # a='fsfsaasaa'
    # a=tuple(a)
    # print(a,type(a))
     
    ####注释:在字符串转换成列表或者元祖时,会以索引取值,从第一个到最后一个,每取一个索引值,就会成为列表或者元组里面的元素。
     
     
     
    ##列表转换字符串
    # a=['sd','adf']
    # a=str(a)
    # print(a,type(a))
    # ##元组转换字符串
    # a=('sd','adf')
    # a=str(a)
    # print(a,type(a))
     
    # ####注释:在列表或者元祖转换字符串的时候,会将列表或者元组的整体转换成字符串
     
     
     
     
    # a=['sd','adf']
    # print(''.join(a),type(''.join(a)))
    # ##join的转换方法:列表转换字符串
    # a=('sd','adf')
    # print(''.join(a),type(''.join(a)))
    # ##join的转换方法:元组转换字符串

    十 每个数据相对应的布尔值

    - True,False
     
    - False: 0,None,"",{},[],()

    之前的小总结:

       

    3. 编码
    ascii - 8
    unicode - 16,32
    utf-8 - 8 ~ 32
    gbk - 16

    4. 字符串格式化
    - "asdf%s,sdfsdf%d" %('11',4)
    - "asdf%s,sdfsdf" %'11'
    - "asdf%s,sdfsdf%%" %'11'
    -
    tpl = "我叫%sfdf"
    name = tpl %('骑兵',)
    name = tpl %('步兵',)
    5. 变量
    name = 'xxx'

    不要使用python中已经使用的变量:list,str,tuple,dict,bool,int

    6. 条件语句
    if xxx:
    pass
    elif xxxx:
    pass
    else:
    pass
    7. 长度
    len(xxxx)

    8. 索引操作:
    str:
    v = "xxxx"
    v[0]
    tuple:

    list

    dict:

    9. 运算符
    - 除法
    - 字符串相乘
    - += -+
    - or and 顺序
    - in
    dic = {
    'k1': 'v1',
    'k2': 'v2'
    }

    li = [11,22,33,44]

    # 1.列表,查看是否存在其中
    if 11 in li:
    pass

    # 2.字典,查看key是否在其中
    "k1" in dic
    for item in dic:
    print(item)

    for k in dic.keys():
    print(k)

    if "k1" in dic:
    pass

    # 3. 字典,查看value是否在其中
    查看v是否存在,v1 in dic.values():

    # 4. 字典,查看value是否在其中
    循环实现,检查“v1”是否在字典 dic = {'k1': 'v1','k2': 'v2'} 的值中。
    val = "v1"
    # for val in dic:
    # for val in dic.values():
    # for v in dic.values():
    # if val in v:
    # print(True)
    # 龙哥,老狗,成绩,海角

    result = False
    for item in dic.values():
    if item == val:
    result = True
    break

    print(result)



    10. py2,py3
    -
    raw_input()
    input()
    -
    range()
    xrange()

    range()
    -
    ascii(#-*-encoding:utf-8 -*-)

    utf-8

    -
    print "alex"
    print('alex')

    11. 字符串
    - 大小写
    - 首字母大写
    - 分割
    a,b = split('*',1)
    - 去除空白
    - 替换
    - "xx".join(["11","22",])
    - 是否是十进制数

    12. 列表
    - 追加
    - 插入
    - 反转

    长度
    for循环
    del li[0]
    li[0:3:1]
    嵌套:
    [
    1,
    [33,44],
    "xxx"
    ]

    补充:

    1. 索引为奇数值,删除
    # 删除列表元素时,会影响列表长度,从而使得索引取值时,容易出现错误。

    li = [11,22,33,44,66]

    li = [11, 22, 33, 44, 66] # 0
    # 索引为奇数值,删除
    for i in range(0,len(li)): # 4,0
    del li[i]
    print(li)

    # 解决方案一:
    # li = [11, 22, 33, 44, 66] # 0
    # new_list = []
    # # 索引为奇数值,删除
    # for i in range(0,len(li)):
    # if i%2 == 0:
    # new_list.append(li[i])
    # li = new_list
    # print(li)

    # 解决方案二:
    # li = [11, 22, 33, 44, 66] # 0
    # # 索引为奇数值,删除
    # for i in range(len(li)-1,-1,-1): # 4,0
    # if i%2 == 1:
    # del li[i]
    # print(li)

    2. 切片+步长
    li = [11, 22, 33, 44, 66]
    del li[0:4]
    del li[0:4:2]
    print(li)


    12. tuple
    - 元素,不可变
    - 只有一个元素时,一定加逗号
    # val = (1,2,3,4,555,6)
    # print(val,type(val))

    # val = (1)
    # print(val,type(val))

    # val = (1,)
    # print(val,type(val))
    13. 字典
    dic = {'k1':"v1",'k2':'v2'}

    data = dic.get('kk1') # None


    len
    dict['k1'] = "vv1"
    for

    val = "v1" in dic # False


    # 出错点
    # 题:dic = {'k1':"v1",'k2':'v2'}把key="k1",键值对删除
    # del dic['k1']

    # 题:dic = {'u1':"v1",'k2':'v2','k3':'v3'}把key中存在k,键值对删除
    #


    dic = {'u1':"v1",'k2':'v2','k3':'v3'}
    # 不要在循环当前字典的过程中,修改当前字典大小

    # 错误
    # for key in dic:
    # if 'k' in key:
    # del dic[key]

    # 正确方式
    dic_key_list = []
    for key in dic:
    dic_key_list.append(key)

    for row in dic_key_list:
    if 'k' in row:
    del dic[row]
    print(dic)

    14. int
    - 最少用多少二进制位表示

    15. 字符串和布尔值相互转换
    v = "123"
    val = int(v)

    v = 123
    val = str(v)




    list
    v = (1,2,3,)
    val = list(v)
    # val = []
    # for item in v:
    # val.append(item)
    tuple
    v = [11,22,33,44]
    val = tuple(v)


    v = "礼券"
    val = ["礼","券"]

    16. 布尔值
    - True,False

    - False: 0,None,"",{},[],()

    17. 高盛月
    字符串功能
    for循环
    while循环
    if else
    字典




     
  • 相关阅读:
    最短路径算法
    XMLhelper
    关于NuDaqPci 数据采集
    批处理常用命令及用法大全
    c#智能感知(设置)及实现
    单片机串行通信全解析
    Esp8266
    使用NOOBS给树莓派安装系统Raspbian
    命令提示符编译java
    javaWeb使用POI操作Excel
  • 原文地址:https://www.cnblogs.com/liuduo/p/7413413.html
Copyright © 2011-2022 走看看