list转化为str,和map函数。处理素数思路不错呀~
题目:输出100以内的所有素数,素数之间以一个空格区分(注意,最后一个数字之后不能有空格)。
#参考代码,如嫌啰嗦,建议删除,一行搞定
def solve_it():
b=[]
a=''
for i in range(2,101):
for j in range(2,i):
if(i%j==0):
break
else:
b.append(i)
b.append(' ')
#
# continue
a=''.join(map(str,b))
return a.rstrip()
#list转化为str
#map函数应用 函数执行,lamadam函数,类型转换(list和其他类型)
print(solve_it()) # 答案需要输出
list转化为str
使用join函数,关键是join针对str类型。list元素是int则不行,借用map函数完成类型转换。
list1 = ['1','2','3']
str1 = ''.join(list1)
print(str1)
list2 = [1,2,3]
str2 = ''.join(map(str,list2))
print(str2)
str->list
注意对list中元素要求。要求int型,要用map函数转化。
str = "12345"
li = list(str)
print(li)
li2 = list(map(int,str)) #转为int型
print(li2)
循环中的else语句
else 语句在range遍历结束或者while条件不满足时执行。
map函数
对指定一个或多个序列执行指定操作。python3返回map类型,做list(map()),才返回list。
map使用
del square(x):
return x ** 2
list(map(square,[1,2,3,4,5]))
# 结果如下:
[1,4,9,16,25
map结合lambda使用
list(map(lambda x, y: x+y,[1,3,5,7,9],[2,4,6,8,10]))
# 结果如下:
[3,7,11,15,19]
map类型转换为list
list(map(int,{1:2,2:3,3:4}))
#输出[1, 2, 3] 字典提取键值
map帮助转换为str
如本题