python - 我正在尝试创建一个程序,将 2 个(用户)输入转换为列表,然后打印列表中的重复项

标签 python python-3.x

由于某种原因,程序会打印重复项,但不是全部。 例如,如果 list1 = 'test'list2 = 'test' 则打印 ['t','e','s']

dublicates = []
x = input('type something : ')
y = input('type something again : ')
list1 = list(x)
list2 = list(y)
for i in list2:
    if i not in dublicates:
        dublicates.append(i)
print (dublicates)
end = input('press enter to exit')

最佳答案

您的初始逻辑不起作用,因为当它到达最后一个字符t时,它已经存在于duplicates列表中,因此如果我不在重复项: 被评估为 False 并且最后一个 t 不会添加到重复项 列表

对于重复的逻辑,您应该检查 x 中的字符是否存在于 y 中,如果存在,请将其添加到 重复的 列表,您也不需要将 string 转换为 list 而可以直接迭代字符

duplicates = []
x = input('type something : ')
y = input('type something again : ')

#Iterate through x
for i in x:
    #For every character in x, check if it present in y
    if i in y:
        duplicates.append(i)

print(duplicates)
end = input('press enter to exit')

输出将是

type something : test
type something again : test
['t', 'e', 's', 't']
press enter to exit

获取重复项的类似列表理解方式是

duplicates = [ i for i in x if i in y]

关于python - 我正在尝试创建一个程序,将 2 个(用户)输入转换为列表,然后打印列表中的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56098494/

相关文章:

python - 如何使用 Python 从字符串中提取一些信息?

Python - 组合类的继承

python - 我们如何在Python中计算可能性?

python - 为字典预分配内存?

python - 如何根据环境从我的 settings.py DATABASES 数组中激活数据库设置?

python - 通过避免循环在 pandas 中向量化代码

python - 计算字段自己的类和不同的类? - Openerp

python - 正则表达式:如何匹配字符串末尾的键值对序列

python - 使用 ggplot 更改 x 轴刻度标签

python - 用包含字符串的变量替换函数属性