首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python字符串追加字符串的奇怪结果

Python字符串追加字符串的奇怪结果是由于字符串的不可变性导致的。在Python中,字符串是不可变的,这意味着一旦创建了一个字符串对象,就不能修改它的值。当我们对一个字符串进行追加操作时,实际上是创建了一个新的字符串对象,而不是在原字符串上进行修改。

这种奇怪的结果可以通过以下示例代码来说明:

代码语言:txt
复制
str1 = "Hello"
str2 = " World"
str1 += str2

print(str1)  # 输出结果为 "Hello World"

在上述代码中,当我们执行 str1 += str2 时,实际上是创建了一个新的字符串对象,该对象包含了原字符串 str1str2 的内容。原来的 str1 对象仍然存在于内存中,但它的值没有改变。

对于字符串的追加操作,可以使用以下方法来避免奇怪的结果:

  1. 使用字符串的 join() 方法:
代码语言:txt
复制
str1 = "Hello"
str2 = " World"
str_list = [str1, str2]
result = ''.join(str_list)

print(result)  # 输出结果为 "Hello World"
  1. 使用 += 操作符时,将字符串转换为可变的列表进行操作,然后再转换回字符串:
代码语言:txt
复制
str1 = "Hello"
str2 = " World"
str_list = list(str1)
str_list += list(str2)
result = ''.join(str_list)

print(result)  # 输出结果为 "Hello World"

总结起来,Python中字符串的追加操作会创建一个新的字符串对象,原字符串对象的值不会改变。为了避免奇怪的结果,可以使用 join() 方法或将字符串转换为可变的列表进行操作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

洛谷P1852 奇怪字符串

题目描述 输入两个01串,输出它们最长公共子序列长度 输入输出格式 输入格式: 一行,两个01串 输出格式: 最长公共子序列长度 输入输出样例 输入样例#1:  01010101010 00000011111...输出样例#1:  6 说明 01串长度≤10000 数据好水啊 一开始想了一个dp[i]表示以b中到达i位置最长LCS,f[i]表示他位置,然后转移就好,不过这样只能处理LCS是从1开始情况 比如...for(int i=1;i<x;i++) 21 if(x%i==0) ans+=i; 22 return ans; 23 } 24 int dp[MAXN];//i位置长度...25 int f[MAXN];//i位置所对应位置 26 char a[MAXN],b[MAXN]; 27 int main() 28 { 29 #ifdef WIN32 30 freopen...51 else printf("%d",dp[lb]); 52 return 0; 53 } 54 正解是裸地LCS 不过按理说O(n^2)应该过不去

1.3K90

javaStringBuffer可变字符串追加及修改、查找

参考链接: 如何在Java中初始化和比较字符串 -----------javaStringBuffer可变字符串追加及修改-------------- 构造方法摘要StringBuffer()           ...:" + sb.capacity());    } } 结果: 输出可变字符串长度:0输出可变字符串容量:16 输出可变字符串长度:20输出可变字符串容量:34 输出可变字符串长度:20输出可变字符串容量...:34 输出可变字符串长度:20输出可变字符串容量:34 ---------------StringBuffer追加方法----------------------------------- StringBufferappend...newStringBuffer("helloworld");       //可变字符串1追加可变字符串2       sb.append(sb1);      System.out.println(...sb.deleteCharAt(1);        System.out.println(sb);    } } 结果: heoworld howorld ---------------可变字符串处理

93820

python截取指定字符串_python字符串截取,python字符串切片方法详解

参考链接: Python字符串| max 字符串本质上就是由多个字符组成Python 允许通过索引来操作字符,比如获取指定索引处字符,获取指定字符在字符串位置等。...Python 字符串直接在方括号([])中使用索引即可获取对应字符,其基本语法格式为:string[index] 这里 string 表示要截取字符串,index 表示索引值。...输出g Python 规定,字符串中第一个字符索引为 0、第二个字符索引为 1,后面各字符依此类推。...例如如下代码:# 输出s字符串中最大字符 print(max(s)) # z # 输出s字符串中最大字符 print(min(s)) # 空格 python字符串截取案例str = ‘0123456789...对应输出结果:012 0123456789 6789 0123456 2 9 9876543210 78 789 96

3.6K11

python 数字转换字符串(python转换字符串)

原博文 2019-06-30 01:20 − 字符串->数字: int(字符串) , float(字符串) 数字->字符串: str(数字)… 1602 相关推荐 2019-12-12 14:34 −...## Python 代码块、缓存机制 1....相同字符串Python中地址相同 “`python s1 = ‘panda’ s2 = ‘panda’ print(s1 == s2) #True print(id(s1) == id (s2))...示例: “`python def… 2019-12-18 19:48 − 1.数据类型:变量值是我们存储数据,所以数据类型值得就是变量不同种类 2.数据分类型原因:变量值是用来保存现实世界状态...(*复制次数int)、连接(+) 该类操作只能同为字符串类型,否则需要强制转换类型 变量名规则 (驼峰式变量名&下划线式均可) # 注释 BIF(… 2019-12-12 20:17 − # Python

1.6K10

Python字符串

Python转义字符 Python字符串运算符 Python三引号 Python 字符串内建函数 Python转义字符 在需要在字符中使用特殊字符时,python用反斜杠()转义字符。如下表: ?...a = "Hello" b = "Python" print("a + b 输出结果:", a + b) print("a * 2 输出结果:", a * 2) #输出两次a内容,*n,就输出n次前面的字符串...Python字符串格式化 Python 支持格式化字符串输出 。尽管这样可能会用到非常复杂表达式,但最基本用法是将一个值插入到一个有字符串格式符 %s 字符串中。...% ('小明', 10)) 运行结果: 我叫 小明 今年 10 岁! 字符串格式化用很少,比较鸡肋一个东西,了解一下有这样东西就可以了 python字符串格式化符号: ?...Python 字符串内建函数 Python 字符串常用内建函数如下: 序号 方法及描述 1 capitalize() 将字符串第一个字符转换为大写 2 center(width, fillchar

87920

Python字符串

(存储内存地址是否是同一个) 如果有有两个字符串虽然内容相同,但是字符串足够大的话,它们存储地址也是不同,故用is判断两个字符串是否是同一个字符串结果则显示为false,所以通常情况下,比较两个字符串是否一致...查找字符串两种主要方法 查找字符串Python中主要使用两个函数find和index (1)字符串查找函数:find() str01 = "www.yusheng123.cn" print(str01....find("yusheng")) print(str01.find("abc")) # 如果查不到,返回是-1 输出结果: 4 -1 使用find方法,在字符串中如果能够查到,返回是包含字符串起始位置索引.../student.txt","a",encoding="UTF-8") # a表示追加写入 for i in student_info: temp = sep.join(i)...** 字符串格式化输出: %s 标准输出 %10 右对齐,占位符10位 %-10s 左对齐,占位符10位 %.2s 截取两位字符串 %10.2s 10位占位符,截取两位字符串 好啦,关于Python

92511

Python字符串

# -*- coding: utf-8 -*- import re #字符串替换 str1 = 'hello world world world abc=123 abc=valu' #第一参数是被替换字符串...width,默认用空格 str.count(sub,start=0,end=len(str)) 字符,起始位置,结束位置 查看字符串出现次数 str.encode(encoding, errors)...检查字符串当中能区分大小写字符,并且这些字符都是大写 str.maketrans(in,out) 要替换字符,替换后字符 将字符串中要替换字符串替换成新字符(from string import...maketrans) max(str) 字符串 返回字符串中最大字母 min(str) 字符串 返回字符串中最小字母 str.title() 将字符串所有单子首字母大写 str.splitlines...(num=str.count(‘\n’)) 长度 按照行分割,返回列表 str.partition(string) 字符串 按照字符串把str分割成3元元组

74760

Python - 字符串

字符串认识 字符串Python 中最常用数据类型。我们可以使用引号( ' 或 " )来创建字符串。 创建字符串很简单,只要为变量分配一个值即可。...- 转义符 在字符前加 \ 就行 常见有 \n:换行 \t:缩进 \r:回车  小知识:\ 只想当普通字符处理 print(r"D:\python\python.txt") #...输出结果 D:\python\python.txt 字符串-运算符 格式化参考此文:https://www.cnblogs.com/lvcm/p/8859225.html 字符串-运算:下标和切片...Python 中,可以直接通过切片方式取一段字符 切片语法格式 str[start : end : step] 获取列表 列表 中在 [start, end) 范围字符串 start:...print(len("123")) # 输出结果3 字符串-函数: str.index 作用:查看sub是否在字符串中,在的话返回索引,且只返回第一次匹配到索引;若找不到则报错;可以指定统计范围

14120

python字符串

python字符串是一种元素为字符序列类型。因为序列类型是元素被顺序放置一种数据结构,因此可以通过索引来获取某一个字符,或者指定索引范围来获取一组字符。...,逆序字符串了,string是不能修改。...报错提示:'str' object does not support item assignment 字符串分片,就是从给定字符串分离出部分字符串,可以采用以下形式索引 i,j,k i是起始位置,...字符串是不可变,任何字符串改变字符串后,都会返回一个新字符串python字符串string可以看成一个类。...byte对象 在Python中,byte和字符串不同,由一系列不可改变unicode字符组成序列叫字符串。由一系列不可改变编码介于0--255之间字符串组成序列称为byte对象。

80990
领券