一.已知字符串 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 a
2: [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 ainfo
2 输出结果:['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]