谁能解释一下字符串和元组之间的区别
a="string"
b=("s","t","r","i","n","g")
两者都是不可变的。
答案 0 :(得分:1)
它们是不同的类型。
"str" in a # True
("s", "t", "r") in b # False
这意味着它们具有不同的方法,不同的用例,不同的含义,不同的实现等,等等。...请考虑:
datapoint_tuple = (datetime.datetime.now(), 42)
datapoint_str = ...???
本质上,它们唯一的共同点是它们的不变性。
答案 1 :(得分:0)
字符串是一个unicode字符序列,在序列的两边都带有引号。
示例:mystring = "this is a string"
元组是用逗号分隔的对象或字符的有序序列,在序列的两侧带有括号。
示例:mytuple = (7, "u", "p", 1, "e')
但是,它们两者都是不变的,因此它们很相似
答案 2 :(得分:0)
字符串在python中是不可变的,这意味着一旦创建就无法更改它,如果要更新它,则将创建一个新的字符串。
s="Abcdef"
c=s+'112'
print s,c
您可以使用索引提取值,查找值但不能修改
要访问子字符串,请使用方括号与一个或多个索引一起切片以获得您的子字符串
元组是不变的,如字符串和序列之类的列表。它们用于存储数据(如列表),就像字符串一样,您无法更新或编辑元组以更改它,因此必须创建一个新就像字符串一样。可以使用括号()创建字符串,并使用逗号插入数据。
t1=(1,2,3,'hi')
print type(t1)
print t1
答案 3 :(得分:-1)
元组使用逗号结尾
tuple_a = 'a',
print(type(tuple_a)) # <class 'tuple'>
字符串不要使用:
string_a = 'a'
print(type(string_a)) # <class 'str'>
但是字符串和元组具有一些相同的特征。 例如: 1,索引和切片
string_same = 'string'
tuple_same = ('s', 't', 'r', 'i', 'n', 'g')
print(string_same[0], tuple_same[0]) # s s
print(string_same[:-1], tuple_same[:-1]) # strin ('s', 't', 'r', 'i', 'n')
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
您可以找到与Doc不同的所有内容。 包括其他类型的打字机。 https://docs.python.org/3/library/stdtypes.html?highlight=tuple#tuple