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" ' ...
随机推荐
- HTML5 Canvas ( 创建图形对象 ) createImageData
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 【转】Luajit-2.1.0-beta1的发布和生成arm64用bytecode的解脱
来自:Luajit-2.1.0-beta1的发布和生成arm64用bytecode的解脱 前情提要:由于苹果要求2015年2月1日上架的新app必须支持64位的arm64,旧的app也得在6月1日支持 ...
- 遇到的IE不兼容问题总结
IE浏览器兼容问题困扰多时,由于IE6不在进行修补,IE6的考虑也越来越少,有些IE遇到的不兼容的现象想做一个总结 1宽度或高度:IE的是width+border+margin+padding goo ...
- Centos7 vnc
这是一个关于怎样在你的 CentOS 7 上安装配置 VNC 服务的教程.当然这个教程也适合 RHEL 7 .在这个教程里,我们将学习什么是 VNC 以及怎样在 CentOS 7 上安装配置 VNC ...
- conductor Workflow Metrics
Server Metrics conductor使用spectator收集指标.https://github.com/Netflix/spectator 名称 目的 标签 workflow_serve ...
- adb设置逍遥游
. adb设置模拟器属性imei.imsi.手机号.sim卡号2. adb设置充电模式3. 开启|关闭飞行模式4. 获取所有已安装程序apk路径和包名5. adb对指定设备执行指令6. 安装应用7. ...
- 查看webdriver针对浏览器的一些函数
在用webdriver对浏览器进行操作时,很多操作并不是那么好找,后来在朋友的推荐下可以用下面的方法来寻找针对浏览器的一些操作,函数或属性等,这样方便我们可以查找一些方法去完成我们要的操作. 下面是查 ...
- webrtc 开发之前必须了解的东西
1.创建offer的时候带上参数:{ offerToReceiveAudio: true, offerToReceiveVideo: true } 2.onicecandidate 必须写在 setL ...
- hdoj1075-What Are You Talking About 【map】
http://acm.hdu.edu.cn/showproblem.php?pid=1075 What Are You Talking About Time Limit: 10000/5000 MS ...
- JavaScript对象继续总结
1.字符串对象 18_1.查看字符串的长度 var a = "hello world" alert(a.length) 18_2.遍历整个字符串的,这里的是索引 for (var ...