有两个字符串s1和s2,删除s1中和s2重复的字符,形成新的s1,最后输出s1拼接上s2的结果,用Python实现
时间: 2024-05-06 13:16:18 浏览: 12
可以使用Python中的集合(set)数据结构和字符串拼接操作来实现。
代码如下:
```python
s1 = "hello world"
s2 = "python"
# 将s2转换为集合类型,方便后面判断s1中是否存在相同的字符
s2_set = set(s2)
# 遍历s1中的每个字符,如果不在s2_set中,则加入新的字符串中
new_s1 = ""
for c in s1:
if c not in s2_set:
new_s1 += c
# 拼接新的s1和s2
result = new_s1 + s2
print(result)
```
输出结果为:
```
he wrldpython
```
相关问题
从键盘输入两个字符串s1和s2,以及一个整数n,用s2的前n个字符替换s1的前n个字符。
好的,这是一个简单的字符串替换问题,可以用 Python 编写代码解决:
```python
s1 = input("请输入字符串s1:")
s2 = input("请输入字符串s2:")
n = int(input("请输入整数n:"))
# 将 s1 的前 n 个字符替换为 s2 的前 n 个字符
s1 = s2[:n] + s1[n:]
print("替换后的字符串为:", s1)
```
这段代码首先从键盘输入了两个字符串 `s1` 和 `s2`,以及一个整数 `n`。然后将 `s2` 的前 `n` 个字符与 `s1` 的第 `n` 个字符之后的所有字符拼接起来,得到替换后的字符串 `s1`。最后输出结果即可。
现有两个字符串s1和s2,它们最多都只能包含255个字符。编写程序,将字符串s1中所有出现在字符串s2中的字符删去,然后输出s1
的剩余字符。
这道题目可以使用哈希表来解决。具体步骤如下:
1. 新建一个数组或哈希表,用来记录字符串s2中出现的字符。
2. 遍历字符串s2,对于每一个字符,将对应的数组或哈希表位置上的值设置为1或true。
3. 遍历字符串s1,对于每一个字符,判断其在数组或哈希表中的位置上的值是否为1或true。如果是,说明这个字符在字符串s2中也出现过,可以删除;如果不是,则说明这个字符在字符串s2中没有出现过,需要保留。
4. 将剩余字符拼接起来,输出即可。
具体实现可以参考以下代码:
```python
s1 = "abcdefg"
s2 = "cdehij"
# 建立哈希表,记录字符串s2中出现的字符
s2_map = {}
for char in s2:
s2_map[char] = True
# 遍历字符串s1,判断每个字符是否需要删除
new_s1 = ""
for char in s1:
if char not in s2_map:
new_s1 += char
# 输出剩余字符
print(new_s1) # 输出为: abfg
```