Python:字典?
我没有得到代码中的第三行,“如果ch in d”。如果dic中还没有任何条目,为什么该字符会出现在字典中Python:字典?,python,Python,我没有得到代码中的第三行,“如果ch in d”。如果dic中还没有任何条目,为什么该字符会出现在字典中 另外,我不明白d[ch]+=1应该是什么意思,以及为什么会有else语句。有人能帮我吗 因为每次执行循环时,都会在字典中添加或更新键。如果键已经存在,则您正在更新其值。因为每次循环时,您都在字典中添加或更新键。如果密钥已经存在,则您正在更新其值。与许多其他脚本语言不同,Python不会自动创建元素。您将看到getdefault()和setdefault()方法,这两种方法对于此类情况非常有用
另外,我不明白d[ch]+=1应该是什么意思,以及为什么会有else语句。有人能帮我吗 因为每次执行循环时,都会在字典中添加或更新键。如果键已经存在,则您正在更新其值。因为每次循环时,您都在字典中添加或更新键。如果密钥已经存在,则您正在更新其值。与许多其他脚本语言不同,Python不会自动创建元素。您将看到getdefault()和setdefault()方法,这两种方法对于此类情况非常有用。您还可以按照中所述对dict进行子类化。与许多其他脚本语言不同,Python不会自动创建元素。您将看到getdefault()和setdefault()方法,这两种方法对于此类情况非常有用。您还可以按照中所述对dict进行子类化。理解此类代码的最简单方法是添加
print
s以查看它实际在做什么。所以
def count_chars(s):
'''Return a dict that contains each character in str s as a key. The
value associated with each key is the number of times that character
occurs in s.'''
d = {}
for ch in s:
if ch in d:
d[ch] += 1
else:
d[ch] = 1
return d
告诉你:
def count_chars(s):
'''Return a dict that contains each character in str s as a key. The
value associated with each key is the number of times that character
occurs in s.'''
d = {}
for ch in s:
if ch in d:
print('{} is in d'.format(ch))
d[ch] += 1
else:
print('{} is NOT in d'.format(ch))
d[ch] = 1
print('d is now: {}'.format(d))
return d
count_chars('abcdaaaa')
理解这样的代码最简单的方法是添加
print
s以查看它实际上在做什么。所以
def count_chars(s):
'''Return a dict that contains each character in str s as a key. The
value associated with each key is the number of times that character
occurs in s.'''
d = {}
for ch in s:
if ch in d:
d[ch] += 1
else:
d[ch] = 1
return d
告诉你:
def count_chars(s):
'''Return a dict that contains each character in str s as a key. The
value associated with each key is the number of times that character
occurs in s.'''
d = {}
for ch in s:
if ch in d:
print('{} is in d'.format(ch))
d[ch] += 1
else:
print('{} is NOT in d'.format(ch))
d[ch] = 1
print('d is now: {}'.format(d))
return d
count_chars('abcdaaaa')
我没有得到代码中的第三行,“如果ch in d”
它的意思就是:它检查ch
是否在d
中
如果dic中还没有任何条目,为什么该字符会出现在字典中
因为最终可能会。代码在for循环中,循环的要点是安排代码多次运行。其中一些跑步记录把事情编入了字典
而且,我不明白d[ch]+=1应该是什么意思
它的意思和语言参考所说的一样
为什么会有另一种说法
因为当条件不成立时,我们想要做一些事情,当条件成立时,我们也需要做一些事情
我没有得到代码中的第三行,“如果ch in d”
它的意思就是:它检查ch
是否在d
中
如果dic中还没有任何条目,为什么该字符会出现在字典中
因为最终可能会。代码在for循环中,循环的要点是安排代码多次运行。其中一些跑步记录把事情编入了字典
而且,我不明白d[ch]+=1应该是什么意思
它的意思和语言参考所说的一样
为什么会有另一种说法
因为当条件不成立时,我们想要做一些事情,当条件成立时,我们也需要做一些事情 如果我们在代码的开头创建了一个空的dict,为什么我们能够更新字典呢?因为它只有在第一次通过循环时才是空的。假设您将在循环中迭代多次。当然,可能“s”只包含一个字符,在这种情况下,if/else是不必要的。但是这个函数是用来处理长度大于等于0的s的。在代码的开头,您已经初始化了一个空的dict,但是python允许您动态地在字典中添加和删除元素。因此,在第一次循环中,我猜它将跳过if语句,直接转到else语句,因为我们以前没有遇到过ch?如果我们在代码开头创建了一个空dict,为什么我们能够更新字典?因为它只有在循环的第一次传递时才是空的。假设您将在循环中迭代多次。当然,可能“s”只包含一个字符,在这种情况下,if/else是不必要的。但是这个函数是用来处理长度大于等于0的s的。在代码的开头,您已经初始化了一个空的dict,但是python允许您动态地在字典中添加和删除元素。因此,在第一次循环中,我猜它将跳过if语句,直接转到else语句,因为我们以前没有遇到过ch?看起来您几乎不了解python的基本知识。。基本理论是,计算每个字母的出现次数。如果我们以前发现过这个字符,我们将它的值增加1,以表示另一次遭遇。如果不是,我们将其设置为1,表示1次遭遇。想一想,这并不难。谢谢你的解释,丹。你可能想通过一些视频来了解Python字典和Python。这里有一个资源:看起来您几乎不了解python的基本知识。。基本理论是,计算每个字母的出现次数。如果我们以前发现过这个字符,我们将它的值增加1,以表示另一次遭遇。如果不是,我们将其设置为1,表示1次遭遇。想一想,这并不难。谢谢你的解释,丹。你可能想通过一些视频来了解Python字典和Python。这里有一个资源:哦,我没有想到印刷。谢谢你的回复!哦,我没想到印刷。谢谢你的回复!