一 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
