字符串、列表和元组
String、 List 和 Tuple 是 Python 中 3 种不同的数据类型,但它们都属于 Sequence数据类型。
序列数据类型
序列(发音为 /x.co-u-en.xì/)是一种数据类型,由其中的一组(或集合)元素(成员)组成。
sequence_type_1 = ("one", "two", "three", "four", "five", "six", "seven")
sequence_type_2 = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
sequence_type_3 = "Hello Python"
我们可以通过序列中的顺序(索引)访问元素的值:
# Phần tử đầu tiên
print(sequence_type_1[0]) # Hiển thị: one
# Phần tử thứ 2
print(sequence_type_1[1]) # Hiển thị: two
# Phần tử cuối cùng
print(sequence_type_1[6]) # Hiển thị: seven
print(sequence_type_1[-1]) # Hiển thị: seven
上面用来获取序列中元素值的一对方括号 []
也称为 下标运算符。
注意: 序列中的第一个元素编号为0,要访问最后一个元素,我们可以使用序列号-1。
从序列中的第 n 个元素到第 m 个元素:
print(sequence_type_1[0:2]) # Hiển thị: ('one', 'two')
统计序列中的元素个数我们使用函数 len()
(函数我要再次提醒大家,函数的定义和使用会在后面的课程中介绍):
print(len(sequence_type_1)) # 7
使用循环 for..in
遍历序列中的每个元素(有关如何使用循环的详细信息将在以下课程中介绍):
# Lặp qua từng phần tử trong sequence_type_2 và hiển thị giá trị từng phần tử
for num in sequence_type_2:
print(num / 10)
# Hiển thị: 1 2 3 4 5 6 7 8 9 10
要遍历每个元素并获取该元素的序号,我们结合使用 for..in
和函数 enumerate()
:
# Lặp qua từng phần tử trong sequence_type_1 và hiển thị số thứ tự cùng giá trị từng phần tử
for index, num in enumerate(sequence_type_1):
print("Index:", index, "Value:", num)
运行上述代码时,Python 将显示以下输出:
Index: 0 Value: one
Index: 1 Value: two
Index: 2 Value: three
Index: 3 Value: four
Index: 4 Value: five
Index: 5 Value: six
Index: 6 Value: seven
要计算序列中某个值出现的次数,我们使用以下方法 .count()
:
print(sequence_type_1.count("five")) # Hiển thị: 1
print(sequence_type_3.count("l")) # Hiển thị: 2
方法的作用类似于函数,但与函数不同的是,我们并不是独立使用方法,而是方法总是带有一个值。方法总是跟在某个值后面并用点 ( .
) 分隔这一事实证明了这一点。我们还将在接下来的课程中学习更多有关方法的知识。
要检查值在序列中的位置,我们使用以下方法 .index()
:
print(sequence_type_1.index("five")) # Hiển thị: 4
注意: 序列数据的成员也被不同的术语引用,例如元素或术语。
字符串数据类型
如前几课所述,字符串数据类型由一组字符组成,通常用单引号或双引号括起来。
greeting = "Hello World!"
print(type(greeting)) # Hiển thị: <type 'str'>
要计算字符串中的字符数,我们使用函数 len()
:
print(len(greeting)) # Hiển thị: 12
该函数 len()
将计算所有字符,包括特殊字符,如空格(键入空格键时的空格)、换行符 ( ) \n
、制表符 ( \t
)(如果字符串中存在):
greeting = "Hello\n World\t!"
print(len(greeting)) # 14
从字符串中的第 n 个字符到第 m 个字符:
# Lấy
greeting = "Hello World!"
print(greeting[1:2]) # Hiển thị: e
要查找给定字符串中一个字符或一组字符的顺序,我们使用 以下方法 .find()
:
print(greeting.find("H")) # Hiển thị: 0
print(greeting.find("o")) # Hiển thị: 4
print(greeting.find("lo")) # Hiển thị: 3
要返回给定字符串中仅包含小写字符的字符串,我们使用以下方法 .lower()
:
greeting = "Hello World!"
print(greeting.lower()) # Hiển thị: hello world!
类似地,我们使用该方法 .upper()
从给定句柄返回一串大写字符:
print(greeting.upper()) # Hiển thị: HELLO WORLD!
注意: 在上述两种情况下,变量的值 greeting
保持不变。
循环遍历字符串中的字符:
for char in greeting:
print(char)
# Hiển thị:
# H
# e
# l
# l
# o
# W
# o
# r
# l
# d
# !
元组数据类型
元组数据类型是一种序列类型,但与字符串不同,使用元组我们可以将不同的数据类型存储在同一个集合中。
元组的元素包含在方括号中 ()
:
myTuple = (2017, "October", ["red","green", "blue"])
上面的变量 myTupple
有 3 个元素,有 3 种不同的数据类型:Number、String 和 List(liter 将在下一节介绍)。
如果 tupe 只包含一个元素,我们仍然需要在单个元素后放置一个逗号:
aTuple = (100,)
print(type(aTuple)) #<type 'tuple'>
anInteger = (100)
print(type(anInteger)) # <type 'int'>
将subscribe ( []
) 运算符与元组数据类型一起使用 :
print(myTuple[0]) # Hiển thị: 2017
print(myTuple[0, 1]) # Hiển thị: (2017, 'October')
print(type(myTuple[0, 1])) # Hiển thị: <type 'tuple'>
要计算元组中元素的数量,我们使用函数 len()
:
print(len(myTuple)) # 3
列表数据类型
List 数据类型的元素放在里面 []
:
fruits = ["apple","banana", "orange"]
print(fruits[0])# Hiển thị: apple
从列表中的第 n 个元素到第 m 个元素:
fruits = ["apple","banana", "kiwi", "orange"]
print(fruits[1:3]) # Hiển Thị: ['banana', 'kiwi']
我们还可以使用函数创建一个列表 list()
来列出字符串或元组的元素:
aString = "abc"
print(list(aString)) # ['a', 'b', 'c']
aTuple = (1, 2, 3)
print(list(aTuple)) # [1, 2, 3]
要对列表进行排序,我们使用以下函数 sorted()
:
fruits = ["banana", "orange", "kiwi", "apple"]
print(sorted(fruits)) # ['apple', 'banana', 'kiwi', 'orange']
print(fruits) # ['banana', 'orange', 'kiwi', 'apple']
上面的函数 sorted()
返回一个新列表,其中元素按字母顺序首先排序 a->z。上面的函数 sorted()
并没有改变原列表中元素的顺序 fruits
。
我们还可以使用 sorted()
数字类型:
numbers = [10.2, 5, 2, 3]
print(sorted(numbers)) # [2, 3, 5, 10.2]
此外,我们还可以 sorted()
在字符串或元组数据类型上使用该函数:
aString = "axcbzy"
print(sorted(aString)) # ['a', 'b', 'c', 'x', 'y', 'z']
aTuple = (8, 22, 13, 1, 15)
print(sorted(aTuple)) # [1, 8, 13, 15, 22]
您还应该注意,使用 sorted()
元组函数的返回结果是一个列表,而不是上面示例中看到的元组。
可变和不可变
与 string 或 tupple 不同,我们可以更改列表中元素的值:
fruits[2] = "lemon"
print(colors[0]) # Hiển thị: ['apple', 'banana', 'lemon']
我们说列表类型的数据是可变的或可变的。相反,string 和 tupple 类型的数据不能更改或不可变。
要将元素添加到列表中,我们使用以下方法 .append()
:
fruits.append("orrange")
print(fruits) # Hiển thị: ['apple', 'banana', 'lemon', 'orrange']
要从列表中删除一个元素,我们有两种不同的方法来使用函数 del()
或方法 .remove()
:
fruits = ["apple", "banana", "lemon", "orrange", "banana"]
# Xoá phần tử đầu tiên có giá trị là "banana"
fruits.remove("banana")
print(fruits) # Hiển thị: ['apple', 'lemon', 'orrange', 'banana']
# Xoá phần tử cuối cùng
del(fruits[-1])
print(fruits) # Hiển thị: ['apple', 'lemon', 'orrange']
# Xoá 2 phần tử tính từ phần tử đầu tiên
del(fruits[0:2])
print(fruits) # Hiển thị: ['orrange']
此外,列表数据类型还有特定于序列的方法,例如 .index()
or .count()
。