一.已知字符串 s = "my,name,is,zhangsan",请用两种办法取出之间的“name”字符。
s = "my,name,is,zhangsan" print (s[3:7]) #方法一 c = s.split(',')[1] #方法二 print (c)
二.在python中,如何修改字符串?
答案:可以用字符串的replace方法.
a = 'my name is lisi' a = a.replace('lisi','zhangsan') print(a)三.bool("1" ==1) 的结果是什么。
答案:结果是fasle,==判断对象的数据类型,尽管看起来数值是一样的,但是他们的类型不同,一个是字符串,一个是数字
四.已知一个文件 test.txt,内容如下:
___________
(2017)很爱很爱你可你怎么就不明白呢?
_____________
读取文件
f = open('test.txt','r') content = f.read()
1.请输出其内容。
print(content)
2.请计算该文本的原始长度。
content = content.encode('utf-8') print(len(content))
3.请去除该文本的换行。
print(content.replace('\n',''))
4.请替换其中的字符"(2017)"为"(2018)"。
print(content.replace('(2017)','(2018)'))
5.请取出最后2个字符。
print( content[-2:])
6.请从字符串的最初开始,截断该字符串,使其长度为11.
print(content[:11])
7.请将{4}中的字符串保存为test1.py文本.
rinfo = content.replace('(2017)','(2018)') f = open('test1.py','w') f.write(rinfo) f.close()##关闭文件
五.请用代码的形式描述python的引用机制。
import sys a = '1234' print(id(a)) print(sys.getrefcount('1234'))
六.已知如下变量
________a = "字符串拼接1"
b = "字符串拼接2"
________
1.请用四种以上的方式将a与b拼接成字符串c。并指出每一种方法的优劣。
##方法1:在做大量的字符串对象拼接的时候不推荐 c = a + b ##方法2: c = "%s%s" % (a,b) ###方法3: print 'format' c = "{a}{b}" .format (a=a,b=b) ##方法4: c = "".join([a,b]) print c
2.请将a与b拼接成字符串c,并用逗号分隔。
c = '%s,%s' % (a,b)
七.已知字符串
________a = "i,am,a,boy,in,china"
________
1.假设boy和china是随时可能变换的,例boy可能改成girl或者gay,而china可能会改成别的国家,你会如何将上面的字符串,变为可配置的。
a = "i,am,a,boy,in,china" ac = "i,am,a,%(sex)s,in,%(country)s" % {'sex':'girl','country':'china'} bc = "i,am,a,{sex},in,{country}" .format (sex='girl',country='india') print (ac) print (bc)
2.请使用2种办法取出其间的字符"boy"和"china"。
a = "i,am,a,boy,in,china" ##方法1 print (a[7:10]) print (a[-5:]) ##方法2 cinfo = a.split(',') print (cinfo[3]) print (cinfo[-1])
3.请找出第一个"i"出现的位置。
a = "i,am,a,boy,in,china" print (a.find('i')) print (a.index('i'))
4.请找出"china"中的"i"字符在字符串a中的位置。
a = "i,am,a,boy,in,china" print (a.find('i',a.find('china'))) print (a.rfind('i'))5.请计算该字符串一共有几个逗号。
a = "i,am,a,boy,in,china" print (a.count(','))
八.请将模块string的帮助文档保存为一个文件。
import sys import string f = open('test.log','w') sys.stdout = f help(string) f.close()
九.用列表推导式生成100内的大于20的偶数
b = [x for x in range(21, 101) if x%2==0] print(b)十. 有下面2个列表:
a = [1,99,33,44,55,22]
输出结果:
1:[1,2,99,33,44,55,22,(11,33,54)]
a = [1,99,33,44,55,22] b = (11, 33, 54) a.insert(1, 2) a.append(b) print a2: [1,2,99,33,101,44,55,22]
a = [1,99,33,44,55,22] a.insert(1, 2) a.insert(4, 101) print a十一.
利用列表推导完成下面习题:
1 输出结果:[1 love python,2 love python,3 love python,…. 10 love python]
#方法一: ['%s love python' %s for s in range(1, 11)] #方法二: ['{} love python'.format(i) for i in range(1, 11)]
2 输出结果:[(0,0),(0,2),(2,0),(2,2)]
[(x, y) for x in range(3) for y in range(3) if x%2==0 and y%2==0]
十二.有一个元组 a = (1,2,3),现在想修改1为11怎么做(元组是不可修改的)?
思路:讲元组转化为列表,修改,然后在讲列表转化为元组即可;
a = (1, 2, 3) b = list(a) b[0] = 11 c = tuple(b) print(c)十三.已知字典:ainfo = {'ab':'liming','ac':20}
完成下面的操作
1 使用2个方法,输出的结果:
ainfo = {'ab':'liming','ac':20,'sex':'man','age':20}
#方法一: ainfo['sex'] = 'man' ainfo['age'] = '20' #方法二: ainfo.update({'sex':'man'}) ainfo.update({'age':'20'}) print ainfo2 输出结果:['ab','ac']
ainfo.keys()3 输出结果:['liming',20]
ainfo.values()4 通过2个方法返回键名ab对应的值。
#方法一: ainfo.get('ab') #方法二: list(ainfo.values())[0]5 通过2个方法删除键名ac对应的值。
方法一: del ainfo['ac'] 方法二: ainfo.pop('ac')十四.列表a = [11,22,24,29,30,32]
1 把28插入到列表的末端
2 在元素29后面插入元素57
3 把元素11修改成6
4 删除元素32
5 对列表从小到大排序
a = [11,22,24,29,30,32] a.append(28) print(a) #[11, 22, 24, 29, 30, 32, 28] a.insert(4,57) print(a) #[11, 22, 24, 29, 57, 30, 32, 28] a[0]=6 print(a) #[6, 22, 24, 29, 57, 30, 32, 28] del a[6] del a[-1] a.pop() print(a) #[6, 22, 24, 29, 57] a.sort() print(a) #[6, 22, 24, 29, 57]