字符串和元组之间的区别是什么?

时间:2019-03-14 00:54:11

标签: python string tuples

谁能解释一下字符串和元组之间的区别

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

两者都是不可变的。

4 个答案:

答案 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  

enter image description here

答案 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