Python 字符串和元组有什么区别?

Python 字符串和元组有什么区别?,python,string,tuples,Python,String,Tuples,有人能解释一下字符串和元组的区别吗 a="string" b=("s","t","r","i","n","g") 两者都是不可变的。它们是不同的类型 "str" in a # True ("s", "t", "r") in b # False 这意味着它们有不同的方法、不同的用例、不同的含义、不同的实现等等。。。。考虑: datapoint_tuple = (datetime.datetime.now(), 42) datapoint_str = ...??? 本质上,它们唯一的共同点

有人能解释一下字符串和元组的区别吗

a="string"
b=("s","t","r","i","n","g")

两者都是不可变的。

它们是不同的类型

"str" in a  # True
("s", "t", "r") in b  # False
这意味着它们有不同的方法、不同的用例、不同的含义、不同的实现等等。。。。考虑:

datapoint_tuple = (datetime.datetime.now(), 42)
datapoint_str = ...???

本质上,它们唯一的共同点就是它们的不变性。

它们是不同的类型

"str" in a  # True
("s", "t", "r") in b  # False
这意味着它们有不同的方法、不同的用例、不同的含义、不同的实现等等。。。。考虑:

datapoint_tuple = (datetime.datetime.now(), 42)
datapoint_str = ...???

本质上,它们唯一的共同点是它们的不变性。

string是一个unicode字符序列,在序列的两侧都有引号

示例:
mystring=“这是一个字符串”

元组是一个有序的对象序列或字符序列,由逗号分隔,在序列的两边都有括号

示例:
mytuple=(7,“u”,“p”,1,“e”)


然而,它们的相似之处在于它们都是不可变的。字符串是一个unicode字符序列,在序列的两侧都有引号

示例:
mystring=“这是一个字符串”

元组是一个有序的对象序列或字符序列,由逗号分隔,在序列的两边都有括号

示例:
mytuple=(7,“u”,“p”,1,“e”)


然而,它们的相似之处在于,它们都是不可变的。

元组使用尾随逗号:

tuple_a = 'a',
print(type(tuple_a)) # <class 'tuple'>
2、 不变性 表示字符串和元组不支持项分配

string_same[0] = 'python_'
tuple_same[0] = 'python_'
TypeError: 'str' object does not support item assignment
TypeError: 'tuple' object does not support item assignment
你可以找到所有与文件不同的地方。 包括其他TYEP内置类型。
元组使用尾随逗号:

tuple_a = 'a',
print(type(tuple_a)) # <class 'tuple'>
2、 不变性 表示字符串和元组不支持项分配

string_same[0] = 'python_'
tuple_same[0] = 'python_'
TypeError: 'str' object does not support item assignment
TypeError: 'tuple' object does not support item assignment
你可以找到所有与文件不同的地方。 包括其他TYEP内置类型。

字符串在python中是不可变的,这意味着一旦创建它就不能更改,例如,如果要更新它,则需要创建一个新字符串

s="Abcdef"
c=s+'112'
print s,c
您可以使用索引提取值,查找值,但不能修改它

要访问子字符串,请使用方括号与一个或多个索引一起进行切片以获取子字符串

元组它们与字符串和序列列表一样是不可变的。它们与列表一样用于存储数据,与字符串一样无法更新或编辑元组。要更改元组,必须创建一个与字符串一样的新元组。元组可以使用括号()创建,数据可以使用comas插入

t1=(1,2,3,'hi')
print type(t1)
print t1  

字符串在python中是不可变的,这意味着一旦创建它就不能更改,例如,如果要更新它,则需要创建一个新字符串

s="Abcdef"
c=s+'112'
print s,c
您可以使用索引提取值,查找值,但不能修改它

要访问子字符串,请使用方括号与一个或多个索引一起进行切片以获取子字符串

元组它们与字符串和序列列表一样是不可变的。它们与列表一样用于存储数据,与字符串一样无法更新或编辑元组。要更改元组,必须创建一个与字符串一样的新元组。元组可以使用括号()创建,数据可以使用comas插入

t1=(1,2,3,'hi')
print type(t1)
print t1  

基本上什么都有?例如
print(a)
print(b)
是不同的,你不能对元组进行
、拆分
、连接
、修剪
等操作。除了两者都是不可变的这一事实之外,其他一切都是不一样的。实际上你应该问“字符串和元组之间有什么相同之处?”尝试在元组上调用字符串方法。请注意,
b
是字符串的元组,因此更好的问题可能是“字符串”
(,)
“基本上所有内容之间有什么区别?”?例如
print(a)
print(b)
是不同的,你不能对元组进行
、拆分
、连接
、修剪
等操作。除了两者都是不可变的这一事实之外,其他一切都是不一样的。实际上你应该问“字符串和元组之间有什么相同之处?”尝试在元组上调用字符串方法。请注意,
b
是一个字符串元组,因此更好的问题可能是“字符串”
(,)
之间有什么区别”一个有趣的问题与此相关:在某些语言(虽然不是Python)中,一个有效的问题是“字符串和列表之间的区别是什么。”许多语言将字符串作为
Char
值的原始列表来实现。与此相关的一个有趣的问题是:在某些语言(尽管不是Python)中,一个有效的问题是“字符串和列表之间的区别是什么?”。“许多语言将字符串实现为
Char
值的简单列表。元组当然不必是字符——它们包含任意异构python值(请参阅我在回答中使用的
datetime.datetime
)。也许还值得指出的是,在Python3中,字符串只是unicode(默认情况下),尽管我可能会在这里延伸“worth”一词:)只是为了进一步分割头发:字符是对象,所以说“对象或字符”是多余的。真的,虽然,这很好:)@AdamSmith lol你听起来像我挑剔一切:)。tbh您值得接受的应答元组当然不必是字符——它们包含任意异构python值(请参阅我在回答中使用的
datetime.datetime
)。也许还值得指出的是,在Python3中,字符串只是unicode(默认情况下),尽管我可能会在这里延伸“worth”一词:)只是为了进一步分割头发:字符是对象,所以说“对象或字符”是多余的。真的,虽然,这很好:)@AdamSmith lol你听起来像我挑剔一切:)。tbh你应该得到公认的答案