"None for c in" 代表什么?
What does "None for c in" stand for?
我在看一个示例代码,它说:
subj = 'A.B!c?'
dd = {ord(c):None for c in 'chars_to_remove'}
subj.translate(dd)
输出为 'A.B!?' 。
在我看来 ord(c): 是一个 "dictionary",如果 string(subj) 中的每个元素都满足 c 那么 c 将被删除。
但是我无法完全理解这个说法,我不明白:
- c是指字符串的每一个元素吗?
- "None for c"是什么意思?
- 如果我简单地将"chars_to_remove"替换为"k",那么输出将变为'A.B!c?',为什么?
请帮我理清思路。谢谢。
你应该把它读成 ord(c): None
停顿 for c in 'chars_to_remove
。
发生的情况是,您在字典中为字符串 'chars_to_remove'
.
的每个字符 c
插入 ord(c): None
你读错了
{ord(c):None for c in 'chars_to_remove'}
是ord(c):None
和for c in 'chars_to_remove'
for c in 'chars_to_remove'
遍历此字符串中的每个字符 'chars_to_remove'
ord(c):None
添加到字典并在 translate()
中使用时,它会将那些字符替换为 None
此字符串中您的主题中唯一的字符是 'c',因此您的主题变为 'A.B!?'
我在看一个示例代码,它说:
subj = 'A.B!c?'
dd = {ord(c):None for c in 'chars_to_remove'}
subj.translate(dd)
输出为 'A.B!?' 。 在我看来 ord(c): 是一个 "dictionary",如果 string(subj) 中的每个元素都满足 c 那么 c 将被删除。
但是我无法完全理解这个说法,我不明白:
- c是指字符串的每一个元素吗?
- "None for c"是什么意思?
- 如果我简单地将"chars_to_remove"替换为"k",那么输出将变为'A.B!c?',为什么?
请帮我理清思路。谢谢。
你应该把它读成 ord(c): None
停顿 for c in 'chars_to_remove
。
发生的情况是,您在字典中为字符串 'chars_to_remove'
.
c
插入 ord(c): None
你读错了
{ord(c):None for c in 'chars_to_remove'}
是ord(c):None
和for c in 'chars_to_remove'
for c in 'chars_to_remove'
遍历此字符串中的每个字符 'chars_to_remove'
ord(c):None
添加到字典并在 translate()
中使用时,它会将那些字符替换为 None
此字符串中您的主题中唯一的字符是 'c',因此您的主题变为 'A.B!?'