python - 不能删除python数组中的重复单词
问题描述
我正在尝试从 python 中删除重复的单词,一切正常,但是“Kate”单词仍然重复。帮我
def custom_function(list):
sia = []
for item in list:
sia.append(item.capitalize())
for word in sia:
while sia.count(word) != 1:
sia.remove(word)
if sia.count(word) == 1:
break
return sia
unknown_list = ["toby", "James", "kate", "George", "James", "rick", "Alex",
"Jein", "Alex", "Alex","George", "Jein", "kate", "medelin"]
print(custom_function(unknown_list))
解决方案
您可以使用 list copy()方法执行以下操作:
def custom_function(list):
sia = []
for item in list:
sia.append(item.capitalize())
sia_orig = sia.copy()
for word in sia_orig:
while True:
if sia.count(word) != 1:
sia.remove(word)
if sia.count(word) == 1:
break
else:
break
return sia
unknown_list = ["toby", "James", "kate", "George", "James", "rick", "Alex",
"Jein", "Alex", "Alex","George", "Jein", "kate", "medelin"]
print(custom_function(unknown_list))
输出:
['Toby', 'James', 'Rick', 'Alex', 'George', 'Jein', 'Kate', 'Medelin']
推荐阅读
- java - 如何使用 JMH 对随机访问进行基准测试?
- javascript - Node.js Promise 中的 Promise 中的 Promise
- node.js - 如何从批处理文件启动 Express Web Node.js
- haskell - 编译器不会为多态常量值选择类型类
- django - shell中的Django更新模型不保存
- regex - 从 xml 字符串获取结果集元素的正则表达式是什么?
- c - 在 C 程序中重复使用 TCL 解释器
- bison - 野牛:float = int / int
- java.util.scanner - 多个文件流的多个扫描仪?
- ruby-on-rails - Rails 如何在 input_field 中以不同方式解析 html?