python之零碎知识

删除回忆录丶 提交于 2020-03-18 23:34:36

一 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,"",{},[],()

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!