如何在Python中等同和/或比较四个不同的包含字符串的变量
如何在Python中等同和/或比较四个不同的包含字符串的变量
这个问题已经有答案了:
我有四个不同的变量,比如说,
s1 = 'Foo' s2 = 'Boo' s3 = 'Foo' s4 = 'Duh'
现在,我想要从s1
、s2
、s3
和s4
的所有唯一值中组成一个字符串并保持顺序。就像上面的例子一样,字符串应该是这样的:
"We have a collection of types 'Foo', 'Boo' and 'Duh'."
有没有简单的方法来实现这个?
admin 更改状态以发布 2023年5月21日
为了去掉重复项并保留其出现顺序,您需要手动添加值:
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]
- 从独立变量创建的列表