1、写一个函数,替换一个字符串中的一个或几个字串
例如:
In [2]: str
Out[2]: 'hello world!'
In [3]: def myreplace(str,oldword,newword):
...: a = str.split(oldword)
...: return newword.join(a)
...:
In [4]: b = myreplace(str,"world","tom")
In [5]: b
Out[5]: 'hello tom!'
split 和 join的用法
split 用来分片ian
用法:
字符串.split(分隔符)
In [6]: a = "hah ss jj sa sas"
In [7]: a.split("ss")
Out[7]: ['hah ', ' jj sa sas']
In [8]: a.split(" ")
Out[8]: ['hah', 'ss', 'jj', 'sa', 'sas']
join 用来添加字符串
用法:
字符串.join(可迭代对象)
例如a.join(b)
b每迭代一次,在其后面添加一个a
In [14]: a = "aaa"
In [15]: a.join("bbb")
Out[15]: 'baaabaaab'
还可以这样实现
#!/usr/bin/python
#
pstr = "hello world! sdsd world sdsd world !!!"
def myreplace(pstr,oldword,newword):
while True:
pos = pstr.find(oldword)
if pos == -1:
break
pstr = pstr[:pos] + newword + pstr[(pos + len(oldword)):]
return pstr
a = myreplace(pstr,"world","tom")
print(a)
2、在python中如果一行写不下,可以使用 \ 分行
In [8]: a = "hello" \
...: "world"
In [9]: a
Out[9]: 'helloworld'
3、一行中有两个语句,可以使用分号; 隔开
In [10]: a = 1 ; print "haha"
haha
In [11]: a
Out[11]: 1
4、使用内置函数update来更新字典的值
例如将两个字典合并
In [17]: a
Out[17]: {'name': 'wtt'}
In [18]: type(a)
Out[18]: dict
In [19]: b = {"age":2}
In [20]: type(b)
Out[20]: dict
In [21]: b
Out[21]: {'age': 2}
In [22]: a.update(b)
In [23]: a
Out[23]: {'age': 2, 'name': 'wtt'}
5、写一段python代码。实现列表中的元素分类,如 :[1,2,3,4,…100]变成[[1,2,3],[4,5,6]…]
In [34]: a = [ i for i in range(1,101)]
In [36]: b = [ a[i:i+3] for i in range(0,len(a),3)]
6、以下程序打印结果是什么?
#!/bin/python
#
def extendList(val,list=[]):
list.append(val)
return list
list1 = extendList(10)
list2 = extendList(123,['a','b','c'])
list3 = extendList('a')
print "list1 = %s" % list1
print "list2 = %s" % list2
print "list3 = %s" % list3
[root@localhost python]# python test4.py
list1 = [10, 'a']
list2 = ['a', 'b', 'c', 123]
list3 = [10, 'a']
分析:如果参数是可变数据类型,并且缺省参数,那么参数只初始化一次
list1将10传给了list列表,这时候list = [10],list1= [10]
list2中list列表并没有缺省,所以list2 = [‘a’,‘b’,‘c’,123]
list3中list列表依然缺省,由于之前已经初始化一次了,所以list3 = [‘a’,10]
由于此代码中是先进行三次初始化。然后再进行打印,所以list3的结果会对list1有影响
将上述代码修改:
def extendList(val,list=[]):
list.append(val)
return list
list1 = extendList(10)
print "list1 = %s" % list1
list2 = extendList(123,['a','b','c'])
print "list2 = %s" % list2
list3 = extendList('a')
print "list3 = %s" % list3
打印结果:
[root@localhost python]# python test4.py
list1 = [10]
list2 = ['a', 'b', 'c', 123]
list3 = [10, 'a']
7、写一个函数,给定参数n,生成含有n个元素的值为1~n的数组,元素顺序随机但不能重复。
from random import randint
def test(n):
l=[]
for i in range(1,n+1):
while True:
r = randint(1,n)
if r not in l:
break
else:
r = randint(1,n)
l.append(r)
return l
n = input("输入一个数:")
result = test(n)
print(result)
8、python中的循环中断,continue,break区别
continue 会跳出当前循环,break跳出整个循环
break的执行结果:
for i in range(1,10):
if i==5:
break
print(i)
[root@localhost python]# python test6.py
1
2
3
4
continue执行结果:
for i in range(1,10):
if i==5:
continue
print(i)
[root@localhost python]# python test6.py
1
2
3
4
6
7
8
9
9、遍历目录以及子目录,找出其中的“.pyc”文件
import os
a = []
for i in os.walk("/mnt/python"):
for file in i[2]:
if file.endswith("pyc"):
print(file)
[root@localhost python]# python test7.py
test2.pyc
test1.pyc
__init__.pyc
test.pyc