pythonmaketrans函数

rjjhvcjd  于 2021-09-29  发布在  Java
关注(0)|答案(2)|浏览(292)

关闭。这个问题需要详细或明确。它目前不接受答案。
**想改进这个问题吗?**编辑这篇文章,添加细节并澄清问题。

五小时前关门了。
改进这个问题
最近,我读过关于maketrans()的定义,它是:maketrans()方法返回一个Map表,可以与translate()方法一起使用来替换指定的字符。

txt = "Hello Sam!"
mytable = txt.maketrans("S", "P")
print(txt.translate(mytable))

什么是Map表?它的参数是如何工作的?我刚学了3周python,对编程完全陌生。非常感谢。

qvtsj1bj

qvtsj1bj1#

什么是Map表?
当面对这样的问题时,你可以使用 type 要确定对象的类别,如下所示:

txt = "Hello Sam!"
mytable = txt.maketrans("S", "P")
print(type(mytable))

输出

<class 'dict'>

它是 dict ,即字典(如果您希望使用langauge不可知术语,请使用关联数组)。

vc9ivgsu

vc9ivgsu2#

这个 translate 方法替换字符串中的字符。让我们检查一下这里的用例:https://www.geeksforgeeks.org/python-maketrans-translate-functions/
他们想扭转局面

weeksyourweeks

geeksforgeeks

要将第一个字符串转换为第二个字符串,我们需要替换
w比g
y乘f
我们需要把你放下来
我们可以使用 translate 字符串的方法。要应用此方法,我们需要一个包含上面列表中Map的转换表。这个 maketrans 方法构建该表。
第一个论点 maketrans 是需要替换的字符。在我们的例子中,这是w和y( "wy" ). 这些字符需要分别替换为g和f( "gf" ). 最后一个参数给出了需要删除的字符。在我们的例子中,这是u( "u" ).
让我们看看使用这些参数时maketrans会返回什么:

>>> str = "weeksyourweeks"
>>> str.maketrans("wy", "gf", "u")
{119: 103, 121: 102, 117: None}

如果查找这些整数在ascii中表示的内容,则返回的字典将说明:

{
    'w': 'g',
    'y': 'f',
    'u': None
}

当我们打电话时 translate 它将w转换为g,y转换为f,并删除u(以无表示)。

>>> str.translate({119: 103, 121: 102, 117: None})
'geeksforgeeks'

相关问题