zoukankan      html  css  js  c++  java
  • python之零碎知识

    一 join方法

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

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

    # result = "".join(li)
    # print(result)
    
    msg = ""
    is_first = True
    for item in li:
        if is_first:
            tmp = item
            is_first =False
        else:
            tmp = "_" + item # _alex
        msg += tmp
    print(msg)
    

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

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

     1 for i in range(1,10):
     2         print(i)
     3         for i in range(10,20):
     4             print(i)
     5                 
     6     for i in range(1,10):
     7         print(i)
     8         break
     9         for i in range(10,20):
    10             print(i)
    11     for i in range(1,10):
    12         print(i)
    13         for i in range(10,20):
    14             print(i)
    15         break
    16 
    17     for i in range(1,10):
    18         print(i)
    19         for i in range(10,20):
    20             print(i)
    21             break
    22         break
    23         
    24     for i in range(1,10):
    25         print(i)
    26         for i in range(10,20):
    27             print(i)
    28             break
    29             
    30     flag = False
    31     for i in range(1,10):
    32         print(i)
    33         if flag:
    34             break
    35         for i in range(10,20):
    36             print(i)
    37             flag = True
    38             break
    39             
    40     ==================
    41     for i in range(1,10):
    42         print(i)
    43         continue
    44         for i in range(10,20):
    45             print(i)
    46             
    47     for i in range(1,10):
    48         print(i)
    49         for i in range(10,20):
    50             continue
    51             print(i)
    52     ===================
    53     for i in range(1,10):
    54         print(i) # 1,2
    55         for j in range(i,10): # 2,9
    56             print(j)
    57         
    58 
    59 
    60     for i in range(1,10):
    61         print(i) 
    62         for j in range(10,i,-1): 
    63             print(j)    
    View Code

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

    # 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
    

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

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

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

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

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

    练习:

    dic = {'k1': "v1", 'k2': 'v2'}
    
    data = dic.get('kk1')  # None
    
    dic['k1'] = "vv1"
    val = "v1" in dic  # False
    print(val)
    
    # 出错点
    # 题: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)
    View Code

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

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

    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,"",{},[],()
    
  • 相关阅读:
    webuploader web 大文件上传源代码
    poj 1703 Find them, Catch them
    poj 1308 Is It A Tree?
    hud 1785 畅通工程
    食物链 poj 1182
    poj 1611 The Suspects 并查集
    poj 2524 并查集 Ubiquitous Religions
    The Suspects 简单的并查集
    cf 621D
    hdu2159
  • 原文地址:https://www.cnblogs.com/fangjie0410/p/7412699.html
Copyright © 2011-2022 走看看