【发布时间】:2021-07-01 07:14:38
【问题描述】:
我不想使用“+”运算符加入并在之后删除重复项,而是按照以下代码使用 for 循环更新列表中的项目:
fname = input("Enter file name: ")
fh = open(fname)
x = 0
for lines in fh:
words = lines.split()
lst = words[:]
if lst[x] in lst:
continue
y = lst[x]
lst_full =lst.append("y")
print(list_full)
在文件中,总共有 4 个列表,我希望代码能够使用其他列表中的项目自动更新列表 1。请帮忙。
【问题讨论】:
-
嗨,你能把清单发给我们吗?
-
使用
python-set和set-typecasting的特性,同样lst.append()不返回任何东西所以lst_full是None type object。还有一件事,如果你有一个空文件,这意味着循环不会被启动,所以你最后的print语句将抛出declaration error,说no object named 'list_full' exists -
你的代码中有几个异常,在询问之前你是否在你的系统上运行过它,因为我看到了几个异常,尝试调试你的代码,你会发现我在说什么异常,您正在附加“y”,它是一个字符串,而 y 是一个变量,不会被附加到您的列表中。
-
您好 Yashasvi,该文件不为空,因为我已尝试使用循环功能正常添加列表。我的目标是自动避免重复,特别是使用 append 方法。
-
嗨 Yashasvi,如果 x 是字符串,我相信 append 方法遵循格式 a.append("x")。同样在这种情况下,所有项目都是字符串类型。如果我错了,请纠正我。
标签: python list for-loop append