前言
Python3 中的数据类型分为六大类:数字(
Number
)、字符串(
String
)、列表(
List
)、
元组(
Tuple
)、字典(
Dictionary
)和集合(
Set
)。
其中,数字(Number
)、字符串(
String
)和元组(
Tuple
)是不可变数据,而列表(
List
)、 字典(Dictionary
)和集合(
Set
)是可变数据。
一、数字(Number)
1)整型(int):表现形式有二进制、八进制、十进制和十六进制。
2) 浮点型(float):一般以十进制表示,由整数和小数组成。每个浮点型数据占 8 个
字节,即 64 位。
3) 复数类型(complex):由实部和虚部组成,实部部分和虚部部分都是浮点型。
4) 布尔类型(bool):仅有“True”和“False”两个取值,“True”对应整数“1”,
“False”对应整数“0”
二、字符串(String)
一个字符串就是若干个字符的集合。在 Python 语言中,字符串的表示方法有三种:单引号“'”、双引号“"”和三重引号(即三个单引号“'''”或三个双引号“"""”)。 其中,用单引号和双 引号表示的字符串是等价的,且返回对象的类型相同。
三、列表(List)
列表是python中的一种序列结构,可以存储任意类型的数据,如整数,小数,字符串,列表,元组等。创建格式如下:
#创建一个空列表
empty_list = []
#创建一个包含多个元素的列表
numbers = [1,2,3,4,5]
#创建一个包含不同类型元素的列表
mixed_list=[1,"hello",3.14,True]
#访问列表中的第一个元素(索引从0开始)
first_element = numbers[0] #输出:1
#访问列表中的最后一个元素
last_element = numbers[-1] #输出:5
#修改列表中的某个元素
numbers[1] = 20 #将第二个元素修改为20
#在列表末尾添加一个元素
numbers.append(6) #[1,2,3,4,5,6]
#在指定位置插入一个元素
numbers.insert(2,1.5) #[1,1.5,2,3,4,5,6]
#删除列表中的某个元素
numbers.remove(2) #[1,1.5,3,4,5,6]
#删除指定位置的元素
del numbers[1] #[1,3,4,5,6]
#获取列表的子列表
sub_list=numbers[1:3] #[3,4]
#使用for循环遍历列表
for num in numbers:
print(num)
#获取列表的长度
length = len(numbers)
#对列表进行排序
numbers.sort() #[1,3,4,5,6]
#合并两个列表
list1 = [1,2,3]
list2 = [4,5,6]
merged_list = list+list2 #输出:[1,2,3,4,5,6]
四、元组
元组是
Python 中另一种重要的序列结构,和列表类似,与列表不同,元组是不可变序列,不支持修改或删除元素值,因为元组是不可变的,所以它们可以用作字典的键(而列表则不行)。此外,元组内只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用。
#创建元组
my_tuple = (1, 2, 3)
print(my_tuple) # 输出: (1, 2, 3)
another_tuple = 1, 2, 3 #不使用圆括号创建元组
print(another_tuple) # 输出: (1, 2, 3)
#如果要创建只有一个元素的元组,需要在元素后面加上逗号,否则解释器不会认为它是元组
single_element_tuple = (4,)
print(single_element_tuple) # 输出: (4,)
#访问元组元素
print(my_tuple[0]) # 输出第一个元素: 1
#元组切片
print(my_tuple[1:3]) # 输出: (2, 3)
#元组不可变性
my_tuple[1] = 5 # 这会抛出TypeError #一旦元组被创建,你就不能修改它的元素
#如果元组中包含可变对象(如列表),则可以修改这些对象
mutable_tuple = (1, [2, 3], 4)
mutable_tuple[1][0] = 'two'
print(mutable_tuple) # 输出: (1, ['two', 3], 4)
#元组的遍历
for element in my_tuple:
print(element)
#元组的内置方法
print(my_tuple.count(1)) # 计算元素1出现的次数
print(my_tuple.index(3)) # 找出元素3的索引位置
#元组和列表的转换
my_list = list(my_tuple) 可以通过 list() 和 tuple() 函数在列表和元组之间进行转换
my_new_tuple = tuple(my_list)
五、字典(Dictionary)
Python字典(Dictionary)是一种可变容器模型,可以存储任意类型对象,如字符串、数字、元组等其他容器模型。字典中的每个元素都是一个键值对,键和值用冒号:
分隔,每个键值对用逗号,
分隔,整个字典包括在花括号{}
中。
特点
- 键的唯一性:字典的每个键值对中的键必须是唯一的。
- 不可变的键:字典的键必须是不可变类型,如字符串、数字或元组。
- 可变的值:字典的值可以是任何数据类型,可以是可变的也可以是不可变的。
- 无序:字典中的元素是无序的。
#创建字典
my_dict = {
'key1': 'value1',
'key2': 'value2',
'key3': 'value3'
}
#使用dict()函数创建字典
my_dict = dict(key1='value1', key2='value2', key3='value3')
#访问字典元素
print(my_dict['key1']) # 输出 key1 对应的值: value1
#修改字典
my_dict['key4'] = 'value4' # 添加新的键值对
my_dict['key1'] = 'new_value1' # 修改键 key1 对应的值
#删除字典元素
del my_dict['key2'] # 删除键为 key2 的元素
removed_value = my_dict.pop('key3') # 删除并返回 key3 对应的值
#字典的遍历
for key in my_dict:
print(key, my_dict[key]) # 打印键及对应的值
for key, value in my_dict.items():
print(key, value)
六、集合(Set)
Python中的集合(Set)是一个无序的不重复元素的序列,可以用来进行成员关系测试和删除重复元素。
特点
- 无序性:集合中的元素没有顺序,不能用索引和切片操作。
- 唯一性:集合中的元素都是唯一的,不存在重复的元素。
- 可变性:集合是可变的,可以添加和删除元素。
# 使用花括号创建集合
my_set = {1, 2, 3, 4, 5}
print(my_set) # 输出: {1, 2, 3, 4, 5}
# 使用set()函数创建集合
another_set = set([1, 2, 3, 4, 5])
print(another_set) # 输出: {1, 2, 3, 4, 5}
#####注意,创建空集合只能用 set(),不能用 {},因为 {} 是用来创建空字典的。
#访问集合元素
print(1 in my_set) # 输出: True
print(6 not in my_set) # 输出: True
#####由于集合是无序的,所以我们不能通过索引来访问或修改集合的元素,但是我们可以使用 in 或 not in 来测试元素是否在集合中。
#修改集合
my_set.add(6)
print(my_set) # 输出: {1, 2, 3, 4, 5, 6}
my_set.update([7, 8, 9])
print(my_set) # 输出: {1, 2, 3, 4, 5, 6, 7, 8, 9}
#删除集合元素
my_set.remove(1)
print(my_set) # 输出: {2, 3, 4, 5, 6, 7, 8, 9}
my_set.discard(9)
print(my_set) # 输出: {2, 3, 4, 5, 6, 7, 8}
#集合操作
a = {1, 2, 3}
b = {3, 4, 5}
print(a | b) # 并集: {1, 2, 3, 4, 5}
print(a & b) # 交集: {3}
print(a - b) # 差集: {1, 2}
print(a ^ b) # 对称差集: {1, 2, 4, 5}