-
请至少用一种方法实现下面字符串的反转 hello world --> dlrow olleh(整体反转) hello world --> olleh dlrow(按单词反转
str = 'hello world'
hello world --> dlrow olleh(整体反转)
1.切片
str1 = str[::-1]
print(str1)
2.遍历字符串
str2 = ''
i = len(str)-1
while i >= 0:
str2 += str[i]
i -= 1
print(str2)
hello world --> olleh dlrow(按单词反转)
1、遍历切割后列表切片
str3 = str.split()
str4 = ''
for i in range(0, len(str3)):
str4 += str3[i][::-1]+' '
i += 1
print(str4)
2、循环遍历字符串
str2 = ''
for i in str:
if i is' ':
index = str.find(i)
#找到空字符 那么先将 之前的字符 反转
j = index -1
while j >= 0:
str2 += str[j]
j -= 1
str2 += ' '
#之后的字符 反转
n = len(str)-1
while n >= index+1:
str2 += str[n]
n -= 1
print(str2)
def sum(a, b):
return a + b
print(sum(1, 2))
#匿名函数
sum = lambda a, b : a + b
print(sum(1, 2))
-
请手写一个函数,用来取出1—100(均包含)中9的倍数或者有数字9的所有整数
定一个函数
def numli(num):
li = []
for i in range(1, num+1):
if i % 9 == 0 or str(i).find('9') != -1:
li.append(i)
return li
print(numli(100))
>> [ 9, 18, 19, 27, 29, 36, 39, 45, 49, 54, 59, 63, 69, 72, 79, 81, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
-
Python里面如何实现tuple和list的转换
li = [1,2,3,4]
print(tuple(li))
li1 = (1,2,3,4)
print(list(li1))
str = '123'
print(list(str))
-
Python里面match()和search()的区别?
'''match()从第一个字符开始找,如果第一个就不匹配,会直接返回None,不继续匹配.主要用于匹配开头'''
#coding=utf-8
import re
result = re.match("www","www.cn")
result.group()
>>'www'
# 否则返回None
'''search()会在整个字符串中查找,知道找到一个匹配的'''
#coding=utf-8
import re
ret = re.search(r"\d+", "阅读次数为 9999")
ret.group()
>> 9999
# 下面代码会输出什么:
def f(x,li=[]):
for i in range(x):
li.append(i*i)
print(li)
f(2) #[0, 1]
f(3,[3,2,1]) # [3,2,1,0,1,4]
f(3) #[0,1,0,1,4] 此时li是[0,1]
class CarFactory(object):
__first_new = True
__instance = None
def __new__():
if __first_new:
cls.__instance = object.__new__(cls)
cls.__first_new = False
return cls.__instance
else:
return cls.__instance