在 python 编程中,数据结构是存储和组织数据的基础。对于初学者来说,掌握 字符串 (string)、列表 (list) 和 字典 (dictionary) 这三种最常用的数据结构至关重要。
本文将详细介绍这三种数据结构的创建方法,并提供丰富的代码示例,助你快速上手!
1. 字符串 (string) —— 文本数据的载体
字符串是 python 中最常用的数据类型,用于表示文本。它是不可变的序列。
1.1 创建字符串的常见方法
方法一:使用单引号或双引号
这是最直接的创建方式。python 中单引号 ' 和双引号 " 作用相同。
# 使用单引号 s1 = 'hello, python!' # 使用双引号(当字符串内部包含单引号时非常有用) s2 = "i'm learning python." print(s1) # 输出: hello, python! print(s2) # 输出: i'm learning python.
方法二:使用三引号(多行字符串)
当字符串内容跨越多行,或者包含复杂的引号时,使用三引号 ''' 或 """。
s3 = ''' 这是一个 多行字符串 ''' s4 = """可以包含 '单引号' 和 "双引号" 的字符串""" print(s3) print(s4)
方法三:使用str()函数
将其他数据类型(如整数、浮点数)转换为字符串。
num = 100 s5 = str(num) # 将整数 100 转换为字符串 '100' print(type(s5)) # 输出: <class 'str'>
方法四:字符串格式化创建 (f-string)
python 3.6+ 引入的强大功能,可以在字符串中直接嵌入变量。
name = "alice"
age = 25
s6 = f"my name is {name} and i am {age} years old."
print(s6) # 输出: my name is alice and i am 25 years old.
2. 列表 (list) —— 灵活有序的容器
列表是 python 中最通用的序列类型,可以包含任意类型的对象。它是可变的,意味着你可以随时修改其中的元素。
2.1 创建列表的常见方法
方法一:使用方括号[]
最简单、最常用的方法。
# 创建空列表 empty_list = [] # 创建包含元素的列表 numbers = [1, 2, 3, 4, 5] mixed_list = [1, "hello", 3.14, true] # 列表中可以包含不同类型的数据 print(numbers) print(mixed_list)
方法二:使用list()构造函数
将其他可迭代对象(如字符串、元组)转换为列表。
# 将字符串转换为列表
char_list = list("python")
print(char_list) # 输出: ['p', 'y', 't', 'h', 'o', 'n']
# 将元组转换为列表
tuple_data = (10, 20, 30)
list_from_tuple = list(tuple_data)
print(list_from_tuple) # 输出: [10, 20, 30]
方法三:列表推导式 (list comprehension)
一种简洁而强大的创建列表的方式,通常用于基于现有列表生成新列表。
# 生成 0 到 9 的平方列表 squares = [x**2 for x in range(10)] print(squares) # 输出: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] # 生成偶数列表 evens = [x for x in range(10) if x % 2 == 0] print(evens) # 输出: [0, 2, 4, 6, 8]
3. 字典 (dictionary) —— 键值对的映射
字典是一种无序的(python 3.7+ 变为有序)、可变的容器模型,可存储任意类型对象。字典由 键 (key) 和 值 (value) 组成,键必须是唯一的且不可变(如字符串、数字、元组)。
3.1 创建字典的常见方法
方法一:使用花括号{}
最常用的创建方式。
# 创建空字典
empty_dict = {}
# 创建包含键值对的字典
person = {
"name": "bob",
"age": 30,
"city": "new york"
}
print(person)
print(person["name"]) # 访问值,输出: bob
方法二:使用dict()构造函数
可以通过关键字参数或二元组列表来创建。
# 使用关键字参数
d1 = dict(name="alice", age=25, job="engineer")
print(d1)
# 使用二元组列表
d2 = dict([('one', 1), ('two', 2), ('three', 3)])
print(d2) # 输出: {'one': 1, 'two': 2, 'three': 3}
方法三:使用fromkeys()方法
创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。
keys = ['name', 'age', 'gender']
default_value = 'unknown'
# 创建一个默认值为 'unknown' 的字典
d3 = dict.fromkeys(keys, default_value)
print(d3)
# 输出: {'name': 'unknown', 'age': 'unknown', 'gender': 'unknown'}
方法四:字典推导式 (dictionary comprehension)
类似于列表推导式,用于快速生成字典。
# 将列表中的元素作为键,元素的平方作为值
numbers = [1, 2, 3, 4]
square_dict = {x: x**2 for x in numbers}
print(square_dict)
# 输出: {1: 1, 2: 4, 3: 9, 4: 16}
总结
| 数据结构 | 符号 | 特点 | 适用场景 |
|---|---|---|---|
| 字符串 (string) | ' ' 或 " " | 不可变、有序字符序列 | 存储文本信息 |
| 列表 (list) | [ ] | 可变、有序任意对象序列 | 存储有序的数据集合,需要频繁修改时 |
| 字典 (dict) | { } | 可变、键值对映射 | 存储关联数据,需要通过 key 快速查找时 |
掌握这三种数据结构的创建和使用,是通往 python 高手之路的第一步。赶快打开编辑器,亲手敲一遍上面的代码吧!
到此这篇关于python新手必看之三大核心数据结构(字符串/列表/字典)的完全指南的文章就介绍到这了,更多相关python数据结构内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论