python - Python将char映射到整数
问题描述
我得到了一个洗牌的名单。我如何用数字映射它?
例如下面:
list1('zyxwvutsrq')
我怎样才能映射,以便z=0, y=1, ...
目前我可以像这样映射它
num1 = 0
num2 = 1
char1 = list[num1]
char2 = list[num2]
print(char1 , num1) # output = z
这将正确地给我索引处的字母。但是,如果我想为更大的总和做同样的事情,例如一个 4 位数字4557
,我如何在不使用 dict 或集合的情况下打印 vuus 作为输出?我必须拆分4557
4-num 并将每个转换回 char 吗?或者有更简单的方法吗?
解决方案
选项 1:带循环
- 循环数字,每次迭代将当前数字转换为索引
int(d)
- 获取第一
s
阶段索引的字母
s = 'zyxwvutsrq'
number = 4557
letters = ''
for d in str(number):
letters += s[int(d)]
# 'vuus'
print(letters)
选项 2:一个班轮
类似于选项 1,使用将join
列表连接到字符串的函数。
magic = ''.join(s[int(d)] for d in str(number))
推荐阅读
- c - 两次声明一个 n 元函数的目的是什么,使得第二个函数的参数顺序与第一个相反?
- php - 对象symfony 4的实体计数
- node.js - 如何在 Azure VM 中显示 IPv4Address?
- tsql - 提取物理位置的一部分
- angular - 特别是一个路由器链接在角度 7 中不起作用
- python - Python pandas 格式 datetime.datetime 添加到列表的对象
- r - 在 Diffeqr 包中指定 maxiter
- python - 了解 import X 和 from XY import Z 的区别
- django - highcharts 和 django 传递字典
- java - 选修的
对于方法的输入参数