




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1) Python lstrip() 方法用于截掉字符串左边的空格或指定字符。2) Python strip() 方法用于移除字符串头尾指定的字符(默认为空格)。3) Python endswith() 方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。可选参数"start"与"end"为检索字符串的开始与结束位置。4) str.endswith(suffix, start, end)5) 不需要用split啊,split是分割用replace(src, des)#des为需要替换成的目标字串,src为需要替换的源
2、字串如:>>> str = "My name is xxx, and yours? .">>> print strMy name is xxx, and yours? .>>> str = str.replace(',','')>>> print strMy name is xxx and yours? .6) list.append(obj)arr = 1,2,3,4,5,6· 1· 取第一列的值v = x0 for x in arr >>
3、;> a=1,2,3,4,5,6>>> a0 #取一行1, 2, 3>>> a:,0 #尝试用数组的方法读取一列失败TypeError: list indices must be integers or slices, not tuple· 1· 2· 3· 4· 5 我们需要用列表解析的方法读取一列:>>> b=x0 for x in a>>> print(b)1, 4 而对于数组,可以直接读取:>>> import numpy as n
4、p>>> a=np.array(1,2,3,4,5,6)>>> a:,0array(1, 4)pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。语法pop()方法语法:list.pop(obj=list-1)参数· obj - 可选参数,要移除列表元素的对象。返回值该方法返回从列表中移除的元素对象。实例以下实例展示了 pop()函数的使用方法:#!/usr/bin/pythonaList = 123, 'xyz', 'zara', 'abc'print "A
5、List : ", aList.pop();print "B List : ", aList.pop(2);以上实例输出结果如下:A List : abcB List : zarapython 判断字符串是否为空用什么方法?s=' 'if s.strip()='': print 's is null'或者if not s.strip(): print 's is null'这是从网上搜索的一篇也的还可以的Python进制转换,经过验证可以使用。下面贴出它的实现代码:?12345678910111213
6、141516171819202122232425262728293031323334353637383940414243444546474849505152535455#!/usr/bin/env python # -*- coding: utf-8 -*- # 2/10/16 base trans. wrote by srcdog on 20th, April, 2009 # ld elements in base 2, 10, 16. import os,sys # global definition # base = 0, 1, 2, 3,
7、 4, 5, 6, 7, 8, 9, A, B, C, D, E, F base = str(x) for x in range(10) + chr(x) for x in range(ord('A'),ord('A')+6) # bin2dec # 二进制 to 十进制: int(str,n=10) def bin2dec(string_num): return str(int(string_num, 2) # hex2dec # 十六进制 to 十进制 def hex2dec
8、(string_num): return str(int(string_num.upper(), 16) # dec2bin # 十进制 to 二进制: bin() def dec2bin(string_num): num = int(string_num) mid = while True: if num = 0: break num,rem = divmod(num,
9、 2) mid.append(baserem) return ''.join(str(x) for x in mid:-1) # dec2hex # 十进制 to 八进制: oct() # 十进制 to 十六进制: hex() def dec2hex(string_num): num = int(string_num) mid = while True:
10、; if num = 0: break num,rem = divmod(num, 16) mid.append(baserem) return ''.join(str(x) for x in mid:-1) # hex2tobin # 十六进制 to 二进制: bin(int(str,16) def hex2bin(string_num): r
11、eturn dec2bin(hex2dec(string_num.upper() # bin2hex # 二进制 to 十六进制: hex(int(str,2) def bin2hex(string_num): return dec2hex(bin2dec(string_num)在Python 中怎么同时循环索引和元素阿751凡达 | 浏览 204 次 |举报我有更好的答案2017-02-12最佳答案试试这个方法:>>> data100, 94, 88, 82, 76, 70, 64,
12、58, 52, 46, 40, 34>>> data.index(76)python文件读写小结读文件打开一个文件用open()方法(open()返回一个文件对象,它是可迭代的):>>> f = open('test.txt', 'r')r表示是文本文件,rb是二进制文件。(这个mode参数默认值就是r)如果文件不存在,open()函数就会抛出一个IOError的错误,并且给出错误码和详细的信息告诉你文件不存在:>>> f=open('test.txt', 'r')Traceb
13、ack (most recent call last): File "<stdin>", line 1, in <module>FileNotFoundError: Errno 2 No such file or directory: 'test.txt'文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的>>> f.close()由于文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用。所以,为了保证无论是否出错都能正确地关闭文件,我
14、们可以使用try . finally来实现:try: f = open('/path/to/file', 'r') print(f.read()finally: if f: f.close()但是每次都这么写实在太繁琐,所以,Python引入了with语句来自动帮我们调用close()方法:with open('/path/to/file', 'r') as f: print(f.read()python文件对象提供了三个“读”方法: read()、readline() 和 readlines()。每种方法可以接受一个变量以限制每
15、次读取的数据量。· read() 每次读取整个文件,它通常用于将文件内容放到一个字符串变量中。如果文件大于可用内存,为了保险起见,可以反复调用read(size)方法,每次最多读取size个字节的内容。· readlines() 之间的差异是后者一次读取整个文件,象 .read() 一样。.readlines() 自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for . in . 结构进行处理。· readline() 每次只读取一行,通常比readlines() 慢得多。仅当没有足够内存可以一次读取整个文件时,才应该使用 readline()
16、。注意:这三种方法是把每行末尾的'n'也读进来了,它并不会默认的把'n'去掉,需要我们手动去掉。In2: with open('test1.txt', 'r') as f1: list1 = f1.readlines()In3: list1Out3: '111n', '222n', '333n', '444n', '555n', '666n' 去掉'n'In4: with open('test1.txt'
17、, 'r') as f1: list1 = f1.readlines()for i in range(0, len(list1): list1i = list1i.rstrip('n')In5: list1Out5: '111', '222', '333', '444', '555', '666'对于read()和readline()也是把'n'读入了,但是print的时候可以正常显示(因为print里的'n'被认为是换行的意思)In7
18、: with open('test1.txt', 'r') as f1: list1 = f1.read()In8: list1Out8: '111n222n333n444n555n666n'In9: print(list1)111222333444555666In10: with open('test1.txt', 'r') as f1: list1 = f1.readline()In11: list1Out11: '111n'In12: print(list1)111一个python面试题的例子
19、:有两个文件,每个都有很多行ip地址,求出两个文件中相同的ip地址:# coding:utf-8import bisectwith open('test1.txt', 'r') as f1: list1 = f1.readlines()for i in range(0, len(list1): list1i = list1i.strip('n')with open('test2.txt', 'r') as f2: list2 = f2.readlines()for i in range(0, len(list2):
20、 list2i = list2i.strip('n')list2.sort()length_2 = len(list2)same_data = for i in list1: pos = bisect.bisect_left(list2, i) if pos < len(list2) and list2pos = i: same_data.append(i)same_data = list(set(same_data)print(same_data)要点就是:(1)用with (2)处理行末的'n' (3)使用二分查找提高算法效率。(4)使用set快速去重
21、。 写文件写文件和读文件是一样的,唯一区别是调用open()函数时,传入标识符'w'或者'wb'表示写文本文件或写二进制文件:>>> f = open('test.txt', 'w') # 若是'wb'就表示写二进制文件>>> f.write('Hello, world!')>>> f.close()注意:'w'这个模式是酱紫:如果没有这个文件,就创建一个;如果有,那么就会先把原文件的内容清空再写入新的东西。所以若不想清
22、空原来的内容而是直接在后面追加新的内容,就用'a'这个模式。我们可以反复调用write()来写入文件,但是务必要调用f.close()来关闭文件。当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入。只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘。忘记调用close()的后果是数据可能只写了一部分到磁盘,剩下的丢失了。所以,还是用with语句来得保险:with open('test.txt', 'w') as f: f.write('Hello, world!')
23、python文件对象提供了两个“写”方法: write() 和 writelines()。· write()方法和read()、readline()方法对应,是将字符串写入到文件中。· writelines()方法和readlines()方法对应,也是针对列表的操作。它接收一个字符串列表作为参数,将他们写入到文件中,换行符不会自动的加入,因此,需要显式的加入换行符。f1 = open('test1.txt', 'w')f1.writelines("1", "2", "3")
24、# 此时test1.txt的内容为:123f1 = open('test1.txt', 'w')f1.writelines("1n", "2n", "3n")# 此时test1.txt的内容为:# 1# 2 # 3 关于open()的mode参数:'r':读'w':写'a':追加'r+' = r+w(可读可写,文件若不存在就报错(IOError))'w+' = w+r(可读可写,文件若不存在就创建)'a+&
25、#39; =a+r(可追加可写,文件若不存在就创建)对应的,如果是二进制文件,就都加一个b就好啦:'rb''wb''ab''rb+''wb+''ab+' file_obj.seek(offset,whence=0)file_obj.seek(offset,whence=0)方法用来在文件中移动文件指针。offset表示偏移多少。可选参数whence表示从哪里开始偏移,默认是0为文件开头,1为当前位置,2为文件尾部。举例:f = open("test1.txt", "a+")print(f.read()f.write('1')f.seek(0, 0)# 把文件指针从末尾移到开头,没有这句话下面的read()就读不到正确的东西print(f.read()f.close()注意:这个文件指针的改变只是作用于'r',对'w'和'a'不会起作用,如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 法学概论法律政策评估的方法探讨试题及答案
- 2025年软考新规试题及答案剖析
- 多层网络架构试题与答案解析
- 2025年计算机VB考试布置试题及答案性质分析
- 网络协议基本知识考题及答案
- 行政诉讼的程序与步骤试题及答案
- 网络故障处理访谈纪实试题及答案
- 销售渠道优化的具体措施计划
- 2025年软件设计师考试思维提升试题及答案
- 宣传辑部工作计划
- 《风力发电技术》课件-第三章 机组运行与维护
- 2020-2021苏州景城学校小学数学小升初试卷带答案
- DL∕T 608-2019 300MW~600MW 级汽轮机运行导则
- 环保概论大气污染及防治课件
- 2020年山东省青岛市中考数学试卷
- 四川省乐山市2023-2024学年八年级下学期期末数学试题(解析版)
- 焰火燃放安全技术规程
- 农村自建房包工劳动合同
- 心功能不全试题库及答案
- DL-T5159-2012电力工程物探技术规程
- MOOC 信号与系统-西安邮电大学 中国大学慕课答案
评论
0/150
提交评论