如何在Python中等同和/或比较四个不同的包含字符串的变量

14 浏览
0 Comments

如何在Python中等同和/或比较四个不同的包含字符串的变量

这个问题已经有答案了:

从Python列表中获取唯一值[重复]

我有四个不同的变量,比如说,

s1 = 'Foo'
s2 = 'Boo'
s3 = 'Foo'
s4 = 'Duh'

现在,我想要从s1s2s3s4的所有唯一值中组成一个字符串并保持顺序。就像上面的例子一样,字符串应该是这样的:

"We have a collection of types 'Foo', 'Boo' and 'Duh'."

有没有简单的方法来实现这个?

admin 更改状态以发布 2023年5月21日
0
0 Comments

为了去掉重复项并保留其出现顺序,您需要手动添加值:

s = "We have a collection of types {}."
lst = [s1,s2,s3,s4]
fin = []
for x in lst:
    if x not in fin:
        fin.append(x)
print(s.format(", ".join(fin)))

请参见此 Python 演示

如果您不打算保留顺序,可以使用set,它会在列表中返回唯一项(只需从变量创建列表):

s1 = 'Foo'
s2 = 'Boo'
s3 = 'Foo'
s4 = 'Duh'
print("We have a collection of types {}.".format(", ".join(set([s1,s2,s3,s4]))))

其中:

  • "We have a collection of types {}.".format() 是字符串格式方法,其中字符串字面量包含一个{},该{}format方法传递的唯一参数的占位符
  • ", ".join() - 一种方法,通过逗号+空格将项目连接起来,使字符串成为列表
  • set() - 一种方法,取可迭代项并返回frozenset,即可迭代项中的唯一项
  • [s1,s2,s3,s4] - 从独立变量创建的列表

请看Python 演示

0