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还可以退出当前的循环,回到上一级的循环
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
如果变量未创建(未定义)就会报错
六 占位符还可以赋值变量使用
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,"",{},[],()
python之零碎知识的更多相关文章
- 【Python】 零碎知识积累 II
[Python] 零碎知识积累 II ■ 函数的参数默认值在函数定义时确定并保存在内存中,调用函数时不会在内存中新开辟一块空间然后用参数默认值重新赋值,而是单纯地引用这个参数原来的地址.这就带来了一个 ...
- 【Python】 零碎知识积累 I
大概也是出于初高中时学化学,积累各种反应和物质的习惯,还有大学学各种外语时一看见不认识的词就马上记下来的习惯,形成了一种能记一点是一点的零碎知识记录的癖好.这篇文章就是专门拿来记录这些零碎知识的,没事 ...
- python的零碎知识
1.Python代码操作git 安装 pip3 install gitpython 操作git import os from git.repo import Repo # gitpython def ...
- python数组相关知识
1.np中的reshape函数,可以把矩阵重新划分成m行n列. arange(n)可以把 [0,n-1]装入数组中,一定要注意的是img.reshape()并不会改变原来的数组,所以需要另外新建一个数 ...
- Python 编程核心知识体系(REF)
Python 编程核心知识体系: https://woaielf.github.io/2017/06/13/python3-all/ https://woaielf.github.io/page2/
- python基础----基础知识介绍
一 编程语言的划分 编译型:将代码一次性全部编译成二进制,然后运行. 缺点:开发效率低,不能跨平台(windows与linux) 优点:执行效率高 代表语言:c语言 解释型:当程序开始运 ...
- 简述Python入门小知识
如今的Python开发工程师很受企业和朋友们的青睐,现在学习Python开发的小伙伴也很多,本篇文章就和大家探讨一下Python入门小知识都有哪些. 扣丁学堂简述Python入门小知识Python培训 ...
- Python数据挖掘——基础知识
Python数据挖掘——基础知识 数据挖掘又称从数据中 挖掘知识.知识提取.数据/模式分析 即为:从数据中发现知识的过程 1.数据清理 (消除噪声,删除不一致数据) 2.数据集成 (多种数据源 组合在 ...
- python - 那些零碎的知识点
python - 那些零碎的知识点 一. 字符串格式化 1. "旧式字符串解析(%操作符)" 'Hello, %s' % name "Hello, Bob" ' ...
随机推荐
- win10 QQ远程协助部分界面点不了
win10 QQ远程协助部分界面点不了. 把对方电脑的电脑管家全部退出,退出了也不行. 是win10的防火墙?安全策略?
- WP8.1 发送邮件
Method 1: Windows.System.Launcher.LaunchUriAsync(new Uri("abc@outlook.com?subject=hello world&a ...
- python限制函数执行时间
from:https://stackoverflow.com/questions/366682/how-to-limit-execution-time-of-a-function-call-in-py ...
- 在JSP中,使用get提交方式出现乱码时,为什么要使用new String(s.getBytes("iso-8859-1"),"utf-8");?
最近在学JSP,在学习处理get方式提交数据出现乱码问题的时候,对其中的一个解决方法new String(s.getBytes("iso-8859-1"),"utf-8& ...
- UGUI RectTransform
RectTransform解析 当 Anchor 在同一点时,显示的是物体的座标与大小Pos X.Pos Y.Width.Height ,当 Anchor 不在同一点时(此时会形成矩形),显示的会是 ...
- 解决:Invalid character found in method name. HTTP method names must be tokens
阿里云上弄了一个tomcat,经常半夜发送崩溃,查看日志发现这个东西,查阅资料发现是Tomcat的header缓冲区大小不够,只需要在server.xml中增加maxHttpHeaderSize字 ...
- mysql 数值与字符类型 长度梳理
上述表格中的数值类型都是定长的,也就是说,无论你存的数值是多少,多大或者多小,占用的存储字节大小都是固定的.例如,设置int(1),虽然M值是1个字符,但是它所占用的空间大小永远都是4个字节的大小,换 ...
- Struct2总结
摘自<javaWeb整合开发王者归来> 一.Struct2工作流程 1.访问jsp页面 /struts2/login.jsp 2.提交表单后数据提交给 /struts2/loginPer ...
- clipboard.js复制文字
A-固定内容: <script type="text/javascript" src="script/clipboard.min.js"></ ...
- Django之ORM使用以及模板语言
一.ORM版增删改查 1.ORM的语句 1.类名.objects.all() --> 返回一个列表 2.类名.objects.filter() --> 返回一 ...