欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python find函数 和index的区别_【全网最简单Python教程】--10.列表元素的索引和返回索引值(Index函数使用)...

发布时间:2025/4/16 python 7 豆豆
生活随笔 收集整理的这篇文章主要介绍了 python find函数 和index的区别_【全网最简单Python教程】--10.列表元素的索引和返回索引值(Index函数使用)... 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

在练习日4中,小鱼给大家讲述了神秘的ASCII码编译及解密过程. 在ASCII码中,字符与十进制数字的互相转换是通过 ord()函数和chr()函数。

今天小鱼要给大家介绍另一种在影视剧、侦探小说中更是鼎鼎大名的密码--摩斯密码。

莫斯密码,英文叫做Morse code,是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。

摩尔斯电码是一种早期的数字化通信形式,但是它不同于现代只使用零和一两种状态的二进制代码,它的代码包括五种: 点、划、点和划之间的停顿、每个字符之间短的停顿、每个词之间中等的停顿以及句子之间长的停顿。下图为摩斯密码对照表:

现在我们将26个英文字母对应摩斯密码表,如下:

[".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."]

我们再将26个英文字母对应的写到一个字符串中:

"abcdefghijklmnopqrstuvwxyz"

我们来试一试吧!

小鱼提示:

在摩斯密码中,编译、解密的过程就是索引指令中字母在字母表中的对应位置,根据这个位置索引在摩斯密码表中的对应位置。

第一步,我们把每一个单词从单词列表中取出来,使用 遍历 基础代码块。

第二步,把每一个单词中的字母在字母串中所对应的位置取出来,定义为word_index,对应letter_str.index(r)。

第三步,根据位置信息,再到摩斯密码表中取出来它的密码。

第四步,把最终的密码拼接起来,打印出来即可。

补充知识:index()

Python index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。

str.index(str, beg=0, end=len(string))str -- 指定检索的字符串

beg -- 开始索引,默认为0。

end -- 结束索引,默认为字符串的长度。

index( )相当于索引功能的反向操作:索引是根据位置找元素,而index( )是根据元素找位置。

解题方法:

morse_code_list = [".-","-...","-.-.","-..",".","..-.",

"--.","....","..",".---",

"-.-",".-..","--","-.","---",".--.",

"--.-",".-.","...","-","..-","...-",

".--","-..-","-.--","--.."]

letter_str = "abcdefghijklmnopqrstuvwxyz"

word_list = ["abc", "cba"]

result = ""

for i in word_list:

for r in i:

# 取出来每一个字母在letter_str中的位置,根据元素找位置,用Index()

word_index = letter_str.index(r)

# 根据取出来的位置,从morse_code_list获取到摩斯密码值,根据位置找元素,用索引

morse_code = morse_code_list[word_index]

result = result + morse_code + "|"

# 打印结果

print(result)

在ASCII码和摩斯密码的转化过程中,核心点在于它们都存在转换的逻辑也就是编译、解密遵循的规则。

在ASCII码中,这个规则 ord()函数和chr()函数,只要有指令,就可以把指令拆分,并逐一通过函数进行转换。

在摩斯密码中,这个规则就是索引指令中字母在字母表中的对应位置,根据这个位置索引在摩斯密码表中的对应位置。这与ASCII码的规则是有本质不同的。

因此,当规则遵循位置对应时,我们应该想到列表的定义:一系列按照特定顺序排列的元素的数据类型。利用列表元素的索引来实现需求。

也由此我们可以抽取 根据 一个元素的在某个列表(这个列表中必须包含这个元素)的索引位置 对应到另一个列表(这个列表中不一定包含这个元素)元素 的基础代码块。

一个元素: r

列表1=['abckdahfsdl r ksdf']

列表2=[123413534523451341341]

对应位置=列表1.index(r) #根据元素找位置,用Index()

所求元素=列表2[对应位置] #根据位置找元素,用索引

听完小鱼的介绍,是不是觉得摩斯密码也很简单呢?

相信你已经能编译和解密出摩斯密码,成为一个特工了。快试试吧。

总结

以上是生活随笔为你收集整理的python find函数 和index的区别_【全网最简单Python教程】--10.列表元素的索引和返回索引值(Index函数使用)...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。