第20讲的课后习题请教
动动手的第一题,把代码简化为:str1 = '拷贝过来的字符串拷贝过来的字符串'
list1 = []
for each in str1:
if each not in list1:
print(each, str1.count(each))
list1.append(each)
如何理解 if each not in list1的not呢?如果把not去掉,发现跑出结果竟然是一样的。都是
拷 2
贝 2
过 2
来 2
的 2
字 2
符 2
串 2
list1.append(each)的作用也不明白,去掉这行,line4 有not就有输出,没有not就没有输出。
请大佬答疑解惑,谢谢!
1,not是用来防止有重复字符的
2,将each添加进list1 其实 list1 的作用就是去除重复元素 qiuyouzhi 发表于 2020-3-15 18:56
1,not是用来防止有重复字符的
2,将each添加进list1
if each not in list1:
print(each, str1.count(each))
那each in list1的情况下,如何执行? zltzlt 发表于 2020-3-15 20:30
其实 list1 的作用就是去除重复元素
str1 = '拷贝过来的字符串拷贝过来的字符串'
list1 = []
for each in str1:
if each not in list1:
print(each, str1.count(each))
list1.append(each)
>>> list1
['拷', '贝', '过', '来', '的', '字', '符', '串', '拷', '贝', '过', '来', '的', '字', '符', '串']
list1没有去除重复元素呀 wqx285314590 发表于 2020-3-16 09:16
str1 = '拷贝过来的字符串拷贝过来的字符串'
list1 = []
for each in str1:
不是要在列表中去重,而是在显示中去重 wqx285314590 发表于 2020-3-16 09:16
str1 = '拷贝过来的字符串拷贝过来的字符串'
list1 = []
for each in str1:
排除重复的,你的list1位置放错了,他应该是在if each not in list1里面,所以如果有重复它就会跳过if的运行,没重复他才运行并进入list1
页:
[1]