Python_python字符类型操作及文件操作

# 数组操作
stus = [‘xiaohong‘,‘xiaobai‘,‘xiaohei‘]  #中括号定义,下标从0开始,最后往前从-1开始
stus.append(‘xiaozhang‘)                   #List增加元素,默认增加在最后
stus.insert(1,‘xiaoming‘)                  #指定位置增加元素,下标不存在默认增加在最后
print(stus[1])                              #中括号下标获取对于List中对应下标元素
print(stus)                                 #不带下标获取所以List元素
stus.count(‘xiaohei‘)                      #查看元素的个数,不存在返回0
stus.index(‘xiaohei‘)                      #查看元素下标,多个返回第一个,不存在报错
stus[1] = ‘xiaohuang‘                      #修改对应元素,重新赋值
stus.pop(1)                                 #删除指定下标元素,默认删除最后,不存在报错,返回对应删除元素
stus.remove(‘xiaoming‘)                    #删除对应元素,多个则删除第一个,不存在报错,无返回
del stus[-1]                                #del关键字删除对应下标元素
stus.clear()                                #清空List
stus.reverse()                              #反转List元素顺序
stus.sort()                                 #List排序,默认升序排序
stus.sort(reverse=True)                     #指定reverse=True降序排序
stus.extend(all_num)                         #将all_num元素合并入stus中,all_num中元素不变

#多维数组
all_num = [1,2,3,[4,5,6,[7,8]]]             #多维数组使用多个中括号定义
print(all_num[3][3][1])                     #对应下标获取对应元素,下标从外向内取数

#数组循环和切片
names = [‘xiaohong‘,‘xiaobai‘,‘xiaohei‘,‘xiaoli‘,‘xiaozhang‘]
for name in names:                          #循环获取List中的元素
    print(name)
print(names[0:2])                            #切片取值,包前不包后(示例中获取下标为0、1两个元素)
print(names[:2])                             #切片取值,起始下标不填写默认为0开始
print(names[1:])                             #切片取值,结束下标不填写默认为最后结束
print(names[::2])                            #切片指定步长取值,默认步长为1
print(names[::-1])                           #切片指定步长取值,步长为正从左往右取值,负则从右往左取值

#字符串切片和循环取值
title = ‘niuniu zahuopu‘       #字符串存在下标,可以通过切片取值
print(title[:8])                 #一个空格对应一个下标
for t in title:
    print(t)                     #循环获取字符串对应值
for i,t in enumerate(title):    #enumerate获取对应下标和元素
    print(‘key:{i},value:{t}‘.format(i=i,t=t))
    
# 字典K-V形式,取值方便顺捷
d = {‘name‘: ‘xiaohei‘,
     ‘age‘: 18,
     ‘sex‘: ‘man‘}                   #字典使用大括号定义Key,Value
print(d[‘name‘])                     #通过Key取值,不存在则报错
print(d.get(‘name‘))                 #get方法取值,不存在则返回None
d.get(‘xx‘, ‘xiaohei‘)              #给方法取值,未获取到则返回default值
d[‘addr‘] = ‘shanghai‘             #增加字典,直接赋值Key,Value,字典无序
d.setdefault(‘money‘, 10000)        #增加字典Key,Value
d[‘addr‘] = ‘shengzhen‘            #修改字典值,存在则修改,不存在则新增
d.pop(‘money‘)                      #根据Key删除某个字典
d.popitem()                          #随机删除某个字典
del d[‘addr‘]                       #del关键字删除对应字典
# d.clear()                            #清空字典
print(d.keys(), d.values())          #keys方法和values方法获取字典所有Key或Value
if ‘xiaohei‘ in d:                 #判断Key是否在字典中
    print(‘name is exited‘)
for k in d:                         #循环获取字典的Key
    print(k)
for k, v in d.items():              #items方法循环获取字典的Key和Value
    print(‘Key:{key},Value:{value}‘.format(key=k, value=v))
res = list(d.items())               #强制转换数组
print(res)

# 字典嵌套,字典嵌套字典或List
stus = [{‘name‘: ‘xiaohei‘,
         ‘age‘: 18,
         ‘score‘: {
             ‘chinese‘: 80,
             ‘english‘: 75}},
        {‘name‘: ‘xiaobai‘,
         ‘age‘: 18,
         ‘score‘: {
             ‘chinese‘: 80,
             ‘english‘: 90}}
        ]
print(stus[0][‘score‘][‘english‘])     #根据从外到内,根据下标或Key取值
total_score = stus[0][‘score‘].values()
print(sum(total_score))
total_score1 = 0
for score in total_score:
    score = int(score)
    total_score1 = total_score1 + score
    print(total_score1)

#元组操作
a = (1,1,2,3,4,5,6,7,8)                       #小括号定义元组,不允许修改,其他与List相同
print(a.count(‘1‘))                           #获取元组中某个元素的个数
print(a.index(1))                             #获取元组中某个元素的下标,多个则返回第一个

#可变变量:list,字典
#不可变变量:元组,字符串
li = [1,1,2,3,4,5,6,7,8]
for i in li:                                #在循环操作时不要删除可变变量,删除元素会导致下标变化取值错误
   if i%2 !=0:
       li.remove(i)
print(li)
li2 = li                                   #浅拷贝,内存地址不变
li3 = li[:]                                #深拷贝
print(id(li2))                             #id方法获取对于内存地址
print(id(li3))

#字符串操作,不会改变原有字符串值
name = ‘besttest‘
new_name = name.strip()               #默认去除首尾的空格和换行符
new_name = name.strip(‘best‘)        #去除指定字符?
new_name = name.rsplit()             #去除右边的空格和换行符
new_name = name.lstrip()             #去除左边的空格和换行符
name_count = name.count(‘t‘)         #查找摸个字符在字符串中的个数
index = name.find(‘t‘)               #查找对应字符串中字符的下标,不存在返回-1,多个返回第一个
index = name.index(‘t‘)              #查找对应字符串中字符的下标,不存在报错
name.upper()                         #所有字符转换成大写
name.lower()                         #所有字符转换成小写
print(name.endswith(‘a‘))            #判断字符串以什么结束
print(name.startswith(‘a‘))          #判断字符串以什么开始
name.format()                        #字符串格式化
d ={‘name‘:‘xiaohei‘,‘age‘:18}
f = ‘我是{name},今年{age}岁‘
print(f.format_map(d))               #将一个字典格式化
name.replace(‘best‘,‘better‘)      #字符串替换(‘old‘,‘new‘)
print(‘122‘.isdigit())              #判断是否全为数字
print(‘122‘.isalnum())              #判断字符串是否为数字或字母
print(‘122‘.isalpha())              #判断字符串是否为英文字母

#字符串分割
st = ‘a, b, c, d, e‘
st.split(‘,‘)                       #按照某个字符分割字符串返回list,默认安装空格分割
slit = [‘a‘,‘b‘,‘c‘,‘d‘]
res = ‘,‘.join(slit)               #将字符串、字典、list等(非int和布尔类型)以某个字符连接成一个字符串
print(res)

#非空即真
a = ‘  ‘                  #判断a是否为真,当a不为空则为真,即非空即真
if a:
    print(‘True‘)
else:
    print(‘false‘)

# 非零即真
num = 1                #判断num是否为零,当num不为零则为真,即非空即真
if num:
    print(‘True‘)
else:
    print(‘false‘)
    
#文件操作,打开文件之后必须关闭文件,不要在循环中打开文件
f = open(‘aa.txt‘,encoding=‘UTF-8‘)    #打开文件,指定编码格式
print(f.read())                         #读取文件内容
f.close()                               #关闭文件
f.write(‘xiaohei‘)                     #写文件,必须为字符串类型
f.write(‘xiaohei‘+‘\n‘)               #换行写文件

#文件打开模式
open(‘aa.txt‘,‘r‘,encoding=‘UTF-8‘)
              #‘r‘   只读模式,默认打开模式,文件不存在则报错
              #‘r+‘  读写模式,文件不存在报错
              #‘w‘    写模式,会清空文件内容
              #‘w+‘    写读模式,会清空文件内容
              #‘a‘      追加模式
              #‘a+‘     追加读写模式,文件指针在文件末尾,从末尾增加
f.seek(0)                            #将文件指针前移文件最开始,只针对读可用
print(f.readline())                  #按行读取,只读取一行内容
print(f.readlines())                 #读取文件所有内容,返回list,每一行作为一个元素
names = [‘xiaohei‘,‘xiaobai‘]
f.writelines(names)                  #将可循环的变量写入文件
f.truncate()                         #清空文件
f.tell()                             #查看当前文件指针位置

#高效出来文件方法,每次去用一行
for f in f:
    print(f)
for f in f:
    f = f.strip()                   #去除每行的换行符和空格
    stu_lst = f.split(‘,‘)         #根据逗号分割一行的内容为list
    print(stu_lst)

原文地址:https://www.cnblogs.com/zhufb/p/8111313.html

时间: 2024-10-09 10:06:11

Python_python字符类型操作及文件操作的相关文章

Linux操作系统 内存管理、用户操作和文件操作

内存管理.用户操作和文件操作 预备知识: 1.Linux系统的内存分为物理内存和虚拟内存.物理内存是指安装在计算机当中的主存储器:虚拟内存是一段虚拟的逻辑上连续的储存空间,虚拟内存是由多个内存碎片组成,只有正在使用的虚拟内存被存放在内存上,对于暂时不使用的虚拟内存空间其实是储存在外存中.虚拟内存空间地址和实际的物理内存空间地址存在某种逻辑上的关系,如果虚拟内存空间地址的内容将被使用,通过逻辑关系可以计算出此部分内容对应的实际物理内存空间,然后将内容加载到内存中.虚拟内存在一定程度上独立于物理内存

jqm文件上传,上传图片,jqm的表单操作,jqm的ajax的使用,jqm文件操作大全,文件操作demo

最近在论坛中看到,在使用html5中上传图片或文件,出现各种问题.这一方面,我也一直没有做过,今天就抽出了一点时间来学习一下.现在的示例已经ok了,我就给大家分享一下,希望对大家有帮助. 好吧,我们先看看效果截图吧: 还行吧,来看页面代码: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <h

(转)文件操作-文件操作柄,NSFileHandle

利用  文件操作柄,也就是  NSFileHandle这类物件,我们  可以更加近距离地  操作  文件.一般来说,操作  文件  需要  下面三个步骤: 打开  文件,为  这个文件  创建  文件操作柄: 进行  输入/输出操作: 关闭  文件. 下面的表格  总结了  可以对文件操作柄所采取的措施: 措施名称 描述 +(NSFileHandle *)fileHandleForReadingAtPath:path 打开文件以便读取 +(NSFileHandle *)fileHandleFor

字符编码、字符与字节与文件操作

字符编码 ''' CPU:将数据渲染给用户,中央处理器 内存:临时存放数据,断电后消失 硬盘:永久存储数据,断电后还有 乱码:存数据与读数据采用的编码表不一致 软件打开文件读取数据的流程: 1. 打开软件 2. 往计算机发生一个打开文件的指令,来打开文件 3. 读取数据渲染给用户(存取编码不一致:乱码) python解释器打开py文件 1. 打开软件(python解释器) 2. 往计算机发生一个打开文件的指令,来打开文件 3. 逐行解释打开的文件内容(存取编码不一致,无法正常解释,崩溃),将执行

目录操作和文件操作的函数

一:目录操作的函数1.创建目录: mkdir(目录地址和名字,权限)----第三个参数bool,支持递归创建 2.删除目录:目录下没有其他文件的时候才可以 rmdir(目录地址) 3.移动目录(改名): rename(原始文件路径,新的文件路径) 4.获取目录的内容 1,打开目录,opendir,得到一个目录句柄(目录资源) 2,依次读取目录内的文件,readdir 3,关闭目录句柄(closedir)遍历目录下的所有文件!遍历只会遍历当前目录下的(一层) 5.获取当前工作路径 getcwd--

Objective-C文件和目录操作,IOS文件操作,NSFileManager使用文件操作

转自 http://blog.csdn.net/swingpyzf/article/details/15185767 objective-c通过使用NSFileManager类来管理和操作文件.目录,NSFileManager,文件或目录是使用文件的路径名的唯一标示.每个路径名都是一个NSString对象. NSFileManager对象通过defaultManager方法来创建实例 列如: NSFileManager *fm = [NSFileManager defaultManager];

PHP文件相关的操作函数——文件操作

1.文件的代开与关闭 1.1 fopen() 作用:该函数用于打开一个文件 具体使用访问:http://www.w3school.com.cn/php/func_filesystem_fopen.asp 1.2 fclose() 该函数会撤销fopen()打开的资源类型,成功时返回TRUE,否则返回FALSE.参数必须使用fopen()或fsockopen()函数打开的已存的文件指针.在目录操作中opendir()函数也是开启一个资源,使用closedir()将其关闭. 具体使用访问:http:

Linux系统编程——系统调用之 I/O 操作(文件操作)

一.文件描述符 在 Linux 的世界里,一切设备皆文件.我们可以系统调用中 I/O 的函数(I:input,输入:O:output,输出),对文件进行相应的操作( open().close().write() .read() 等). 打开现存文件或新建文件时,系统(内核)会返回一个文件描述符,文件描述符用来指定已打开的文件.这个文件描述符相当于这个已打开文件的标号,文件描述符是非负整数,是文件的标识,操作这个文件描述符相当于操作这个描述符所指定的文件. 程序运行起来后(每个进程)都有一张文件描

字符串操作、文件操作,英文词频统计预处理

1.字符串操作: 解析身份证号:生日.性别.出生地等. 凯撒密码编码与解码 网址观察与批量生成 解析身份证信息: ID=input("输入你的身份证号:") shengfen = ID[0:2] year = ID[6:10] month = ID[10:12] day = ID[12:14] sex=ID[-2] print('你的省份信息为:'+shengfen) print('出生日期为:'+year+'年'+day+'月'+day+'日') if (int(sex) % 2)