我无法理解python中的星号表达式

时间:2018-04-29 07:49:27

标签: python

我不理解这段代码

print(*map(input().find,map(chr,range(97,123))))

此代码由某人编写,用于在用户输入单词时查找每个字符(a-z)首次出现的位置。如果字符不在单词中,则位置将为-1。

所以例如输入是

baekjoon

输出将是

1 0 -1 -1 2 -1 -1 -1 -1 4 3 -1 -1 7 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

`我已为此编写代码,但与顶部的代码相比真的很长

a = [i for i in input()]
result = 0

for i in range(ord('a'), ord('z')+1):
  for j in range(len(a)):
    if i == ord(a[j]):
      result = j
      break
    else:
      result = -1
  print(result, end=" ")

使用此代码我得到相同的输出,但我认为它不是很好的代码。 所以我真的想了解这段代码以提高我的编码技能

print(*map(input().find,map(chr,range(97,123))))

这位明星在地图功能面前做了什么,我只是不知道该代码是如何工作的。

0 个答案:

没有答案