Python基础二_操作字符串常用方法、字典、文件读取
一.字符串常用方法:
name.captitalize() #字符串首字母大写
name.center(50,'*') #字符串居中
name.count('欢') #查询次数
name.endswith('.xls') #判断字符串是否以XX结尾
name.start with('138') #判断字符串是否以XX开头
name.uper() #都变大写
name.lower() #都变小写
name.find('p') #查找元素p,找不到元素下标,不会报错,返回-1
name.index('p') #找不到元素会报错
name[1] #字符串也可根据下标来取值
name.isdigit() #判断是否为纯数字
name.isidentifier() #判断是否为合法的变量名
name.strip() #去掉字符串两边的内容,默认去掉空格和换行符
name.lstrip() #去掉左边的
name.rstrip() #去掉右边的
name.replace() #替换字符串,把前面的替换成后面的
name.zfill() #补0
name.split() #分割字符串 (把字符串变成一个list。默认是以空格和换行符分割的),传什么以什么分割
name.join() #是把list变为字符串,以某个字符串连接 eg:"lxy、zyf、wdz" print('、'.join(stus)) ----->lxy、zyf、wdz
import string
string.ascii_letters #所有的大、小写字母
string.ascii_lowercase #所有的小写字符
string.ascii_uppercase #所有的大写字符
string.digits #所有的数字
string.punctuation #所有的特殊字符
二、数组
数组循环
stus=['xyz','2','3','4']
for stu in stus:
print(stu)
切片:list取值的一种方式
stus[1:3] #顾头不顾尾 stus[:3] 如果开始的元素不写的话,就是从最前面的开始
stus[-1] #代表最后一个元素
stus[1:] #结束元素不写的话,代表最值到最后一位
stus[:] #取整个list
stus[0:11:2] #第二个:后的值代表步长,隔几个元素取一次 步长为负数,下标也要为负数
stus[:-1] #反转显示,切片同样适用于字符串
三.元组 list,但它是不可变的
元组一旦定义好,就不能再变
字符串也是一种不可变的,不能修改,想要改变就需重新赋值
s='abcEFGabc'
print(s.replace('abc',''))
print(s) --------->abcEFGabc
想要改变s的值,需重新进行赋值
s=s.replace('abc','')
print(s) ---------->EFG
a=[1,1,2,3,4,5,6,7]
for i in a:
if i%2!=0:
a.remove(i)
print(a) ---------->1,2,4,6
为什么还有1呢?
第一次循环:a=[1,2,3,4,5,6,7]
第二次循环:a[1]的值变为了2,跳过了1,所以print中有1
定义变量:a,b,c=1,2,3
#定义a,b,c三个变量,分别为1,2,3
a,b=1,2
b,a=a,b ------>交换a,b的值
b,a=a,b 不等同于b=a a=b
非空即真,非0即真,None
not的意思是取反
四.字典 k-value 字典是无序de
shenyang={'name':'沈阳','age':18}
增:
shenyang['friend']='butty'
shenyang.setdefault('home','sanhuan')
#setdefault这种方式,如果key已存在,那么就不会修改
修改:
shenyang['friend']='ugly'
删除:
shenyang.pop['friend'] #指定key删除
del shenyang['age'] #用dels删 ,key不存在时,会报错
取值:
shenyang['abc']
shenyang.get('key')
shenyang.clear() #清空字典
shenyang.popitem() #随机删除一个key
shenyang.update(yaoyuan) #把后面的字典加到前面的字典中
shenyang.valus() #全部value
shenyang.keys() #全部key
for k,v in shenyang.item():
print(k,v) #通过.item()方式循环获取k,v
高效循环字典方式:
d={'a':1,'b':2}
print(d.item())
---->dict.items([('b',2),('a',1)])
for k in d:
print(k,d,get(k))
五.文件读写
1、打开文件
2 、对他读/或者写
3、关闭文件
open() file()
1、有没有清空以前的内容
2、能不能读到东西
3、文件不存在的时候会不会报错
f = open(r'haha.txt','a+',encoding='utf-8')
print('read', f.read() ) #获取文件里面的所有内容
print('readline',f.readline()) #读取文件一行的数据
print('readllines',f.readlines()) #获取文件里面所有的数据,每一行的数据放到一个list里面
f.write('5dianban')
names = ['lxy\n','zyf\n','zxd\n','lcs\n']
for name in names:
f.write(name+'\n')
f.writelines(names) #传一个list,然后把list里面的每一个元素写入到文件中
f.seek(0)#移动文件指针到最前面
print('read',f.read())
f.close()
只读模 r 读写模式 r+
只能读,不能写,文件不存在会报错 #打开不存在的时候也会报错
写模式 w 写读模式
覆盖以前文件,里面的内容,不能读,文件不存在的话,会帮你创建一个
只要沾上r,文件不存在肯定会报错
只要沾上w,文件内容肯定会被清空
追加模式 a+
能读、能写、不会清空以前的内容,文件不存在会创建
Python基础二_操作字符串常用方法、字典、文件读取的更多相关文章
- Day2 - Python基础2 列表、字符串、字典、集合、文件、字符编码
本节内容 列表.元组操作 数字操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 ...
- python基础(2)字符串常用方法
python字符串常用方法 find(sub[, start[, end]]) 在索引start和end之间查找字符串sub 找到,则返回最左端的索引值,未找到,则返回-1 start和end都可 ...
- Python基础(二):操作基本数据类型
Python是一门解释型语言,它的优势在于代码简洁,易于理解,可以通过大量已封装好的内建方法和第三方模块方法完成日常所需的操作. 字符串 索引 起始下标为0 (从前往后数),末尾下标为-1(从后往前数 ...
- python基础课程_学习笔记21:文件和材料
文件和材料 打开文件 open功能是用来打开文件,语法例如,下面的: open([name[,mode[,buffering]]) open函数使用一个文件名称作为唯一的强制參数,然后返回一个文件对象 ...
- python基础之数字、字符串、列表、元组、字典
Python基础二: 1.运算符: 判断某个东西是否在某个东西里面包含: in 为真 not in 为假 (1).算术运算符: 运算符 描述 实例 + 加 表示两个对象相加 a + b输出结果3 ...
- python基础深入(元组、字符串、列表、字典)
python基础深入(元组.字符串.列表.字典) 一.列表 1.追加 >>>list = [1,2,3,4] #用于在列表末尾添加新的对象,只能单个添加,该方法无返回值,但是会修改原 ...
- Python 基础 二
Python 基础 二 今天对昨天学习的Python基础知识进行总结,学而不思则惘,思而不学则殆! 一.先对昨天学习的三大循环的使用情况进行总结: 1.while循环的本质就是让计算机在满足某一条件的 ...
- C#_02.12_基础二_.NET类型存储和变量
C#_02.12_基础二_.NET类型存储和变量 一.核心一句:C#程序是一组类型声明(留待后面慢慢体会,现在不是很理解,不强说了) 二.数据类型: 1.预定义了16种数据类型: 其中13种简单数据类 ...
- Python基础(二) —— 字符串、列表、字典等常用操作
一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 二.三元运算 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为 ...
随机推荐
- 关于Redis的配置
Redis-配置 1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no 2. 当Redis以守护进程方式运行时,Redis默认会把pid ...
- oracle安装---yum.sh
!#/bin/bash yum install binutils* -yyum install compat* -yyum install elfutils* -yyum install gcc* - ...
- 007-atomic包的原理及分析
一.Atomic简介 Atomic包是java.util.concurrent下的另一个专门为线程安全设计的Java包,包含多个原子操作类.这个包里面提供了一组原子变量类.其基本的特性就是在多线程环境 ...
- 系统进不去怎么办?教你利用bootice工具引导修复系统
http://sh.qihoo.com/pc/9c2e9690a82b8cd38?sign=360_e39369d1 U盘装机大师下载地址 http://www.upandashi.com/down/
- 多线程下的单例-double check
话不多说直接上代码: public sealed class Singleton { private static Singleton _instance = null; // Creates an ...
- timeUtil
/** * 字符串的日期 格式 yyyy-MM-dd * 转入参数,添加或减去它的天数,在返回字符串 */ public static String addOrDelRq(String rq,int ...
- iot平台在k8s搭建过程
统一在 cd /opt/iot nohup /opt/iopservices.sh >/var/log/helmapi.log & 直接查看pod日志? kubectl logs i ...
- eclipse中Tomcat服务器缓存位置,以及清理Tomcat缓存
在Eclipse中进行Web开发,一般都会将项目直接在Eclipse中的Tomcat服务器运行,有时候修改了程序和页面之后,运行结果还是原来的 tomcat服务器中缓存的程序或者页面,需要清理缓存之后 ...
- sort(排序) qsort(快排) bsearch(二分查找)
sort: 一.对int类型数组排序 int a[100]; int cmp ( int a , int b ) //不必强制转换 { return a < b;//升序排列. } sort ( ...
- wordvector to sentence vector
wordvector已经通过word2vec训练出来了,可是如何通过WV得到SV(Sentence Vector)? 思路1: 直接将句子的向量叠加取平均:效果很不好,每个词没有考虑权重,获取的向量会 ...