一 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)
三 各种数据类型外部,都不能加上逗号,不然都会变成元组的类型,带上逗号不能在值外部得首位,不然就会报错。
# 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)
八 删除列表时会影响列表的长度,从而使取得索引只有影响
练习:删除列表基数索引所对应的值
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,"",{},[],()
来源:https://www.cnblogs.com/fangjie0410/p/7412699.html