garbled = "IXXX aXXmX aXXXnXoXXXXXtXhXeXXXXrX sXXXXeXcXXXrXeXt mXXeXsXXXsXaXXXXXXgXeX!XX"
message = filter(lambda x: x != "X",garbled)
print message
I am another secret message!
Как это работает в мире? помогите мне понятькак эта лямбда работает?
list = range(1,101)
print filter(lambda x:x>30 and x<70, list)
[31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69]
Я понимаю, как это работает, но не первое.
Он отфильтровывает любой символ, который 'x' ...!? – deceze
Я думаю, что источником вашей путаницы может быть, что вы не понимаете, что строки могут быть повторены в Python точно так же, как списки могут. Попробуйте запустить: 'для символа в« Привет »: print (character)' и посмотреть, что вы получаете ;-) – Carpetsmoker
@deceze не следует ли проверять, был ли первый элемент IXXX! = X и т. Д., А затем вернуть пустой набор? – Jack