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如果条件为 ...
随机推荐
- 学习Shell(一)
查看 Shell Shell 是一个程序,一般都是放在/bin或者/user/bin目录下,当前 Linux 系统可用的 Shell 都记录在/etc/shells文件中./etc/shells是一个 ...
- sqlserver把数据导入mysql
sqlserver库 navicat逆向表到模型 转换模型为... 选择mysql 建模转换后导出sql 导出sql后,再mysql库中执行该sql(该sql为表结构)执行sql后,使用navicat ...
- 【UML】NO.48.EBook.5.UML.1.008-【UML 大战需求分析】- 组件图(Component Diagram)
1.0.0 Summary Tittle:[UML]NO.48.EBook.1.UML.1.008-[UML 大战需求分析]- 组件图(Component Diagram) Style:DesignP ...
- openvpn-服务端配置文件
;local a.b.c.d port 1194 ;proto tcp proto udp ;dev tap dev tun ;dev-node MyTap ca /etc/openvpn/keys/ ...
- SDN概述:简介、工具、环境部署
一.前言: 本文初步接触 SDN 的相关概念.需要依次完成下面几项任务: SDN 简介 SDN 工具 SDN 环境部署 推荐阅读 推荐阅读下述内容: Ethane 项目,openflow 的基础 op ...
- [ErrorException] "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"?
Mac上PHP更新到7.3,使用Composer报这个错误 解决办法: composer selfupdate
- 建模:通过ES平铺关系型数据库多表的数据
问:建模要从一个限界上下文中来建模,是否可以简单的把几张表进行笛卡尔乘积方式的平铺? 答:不能,原因之一,数据量会急剧增长:原因之二,这样的平铺是毫无意义的,必须要定义一个维度,在这个维度上根据需求约 ...
- opencv 傅里叶使用
#include<opencv2/opencv.hpp>#include<iostream>using namespace std;using namespace cv;int ...
- JAVA8流操作
* Stream 的三个操作步骤: * 1创建Stream * 2中间操作 * 3终止操作 package airycode_java8.nice6; import airycode_java8.ni ...
- div上下左右居中方法
方法一:在浏览器中只有一个div的情况 { position:fixed; position:fixed; ; ; ; ; margin:auto; } 方法一 方法二:一个父元素div和一个已知宽度 ...