我正在尝试 使用for
循环从两个不同的用户输入中打印常用字母。(我需要使用for循环来完成它。)我遇到了两个问题:1.我的语句“ If char
not in output …”没有提取唯一值。2.输出为我提供了单个字母列表,而不是单个字符串。我尝试分割输出,但是分割遇到类型错误。
wrd = 'one'
sec_wrd = 'toe'
def unique_letters(x):
output =[]
for char in x:
if char not in output and char != " ":
output.append(char)
return output
final_output = (unique_letters(wrd) + unique_letters(sec_wrd))
print(sorted(final_output))
您正在尝试执行“设置相交”。Python有
set.intersection
相同的方法。您可以将其用于您的用例,例如:
>>> word_1 = 'one'
>>> word_2 = 'toe'
# v join the intersection of `set`s to get back the string
# v v No need to type-cast it to `set`.
# v v Python takes care of it
>>> ''.join(set(word_1).intersection(word_2))
'oe'
set
将返回字符串中的唯一字符。set.intersection
方法将返回这两个集合中共有的字符。
如果for
必须使用循环,则可以使用 列表理解 为:
>>> unique_1 = [w for w in set(word_1) if w in word_2]
# OR
# >>> unique_2 = [w for w in set(word_2) if w in word_1]
>>> ''.join(unique_1) # Or, ''.join(unique_2)
'oe'
以上结果也可以通过显式for
循环实现:
my_str = ''
for w in set(word_1):
if w in word_2:
my_str += w
# where `my_str` will hold `'oe'`
问题内容: 如何找到两个子字符串之间的字符串? 我当前的方法是这样的: 但是,这似乎效率很低而且不合Python。什么是做这样的更好的方法? 忘了提:该字符串可能无法启动,并最终和。他们之前和之后的字符可能更多。 问题答案:
我有一个这样的字符串: 我正在尝试获取任何显示为title(title=“anything here”)的内容。我已经尝试过了,但无法正常工作。
问题内容: 给定两个相等长度的字符串,是否有一种优雅的方法来获取第一个不同字符的偏移量? 显而易见的解决方案是: 但这对于如此简单的任务而言似乎并不正确。 问题答案: 您可以使用按位XOR()的一个不错的属性来实现此目的:基本上,当您将两个字符串异或时,相同的字符将变为空字节()。因此,如果我们对两个字符串进行异或运算,我们只需要使用以下命令找到第一个非空字节的位置: 这里的所有都是它的。因此,让
目标是在两个给定的Strings和中找到共同的字母。 常见符号的字符串必须至少有两个字母长。 步骤: 我是一个初学者,在这个案子上挣扎了4个小时。有人能帮我吗?很高兴能收到java的解决方案。 提前谢谢。
我正在使用DocX库来替换word文档中的文本。我想以某种方式找到模板docx文件中“[]”之间的所有字符串,例如[Name]、[LastName]、[Date]等...并将其替换为我以前加载到datagridview中具有相同列名(name、LastName、Date)的值。以下是我目前掌握的信息:
如何获得一个字符串与Python中的另一个字符串相似的概率? 我想得到一个十进制值,如0.9(意味着90%)等。最好使用标准Python和库。 e、 g。