列表
定义列表
python
students = ['tom', 'jerry', 'spike']
索引
类似 js 的数组索引
python
students = ['tom', 'jerry', 'spike']
# 通过索引获取列表元素的值
print(students[0]) # tom
print(students[1]) # jerry
print(students[2]) # spike
# 通过索引修改列表元素的值
students[2] = 'alex';
print(students[2]) # alex
获取列表长度
python
students = ['tom', 'jerry', 'spike']
stu_count = len(students)
print(stu_count) # 3
序列遍历
所有序列容器都支持用 for in
语法迭代, 如: 字符串, 列表, 元组 等
python
# 1. len 先获取列表长度
# 2. range 方法生成序列
# 3. for in 遍历序列
# 4. 序列的值真好是列表的索引
students = ['tom', 'jerry', 'spike']
length = len(students)
sequence = range(0, length)
for i in sequence:
print(students[i])
序列切片
所有序列容器都支持切片, 如: 字符串, 列表, 元组等
python
# 序列[开始索引:结束索引:步长]
# 1. 包含开始位置不包含结束位置
# 2. 步长默认为 1
# 字符串
msg = "hello world"
hello = msg[0:5]
world = msg[6 : len(msg)]
print(hello) # hello
print(world) # world
# 数组
students = ["tom", "jerry", "spike", "alex", "mike", "jack", "dan"]
some_stus = students[1:5:2]
print(some_stus) # ['jerry', 'alex']
列表常用方法
元组
元组简单来说就是只读的列表
定义和访问
python
tup = ("tom", 12, "male")
print(tup[0]) # tom
print(tup[1]) # 12
print(tup[2]) # male
将列表转元组
python
arr = ['tom', 12, 'male']
tup = tuple(arr)
print(type(tup)) # <class 'tuple'>
print(tup) # ('tom', 12, 'male')
遍历数组和遍历元组是一样的, 因为他们都是序列, 也就是所都可以通过 for i in range(len(tup))
的方式来遍历
集合 Set
集合简单来说就是不能存储想同元素的列表
特点:
- 元素是无序的, 所以无法用索引来访问, 所以也不是序列
- 不允许重复元素
- 可以修改元素内容
定义集合
python
items = {1, 2, 1, 3, 8}
print(items) # {8, 1, 2, 3}
# 不允许重复元素
将列表转集合(数组去重)
python
items = [1, 2, 1, 3, 8]
set_items = set(items)
print(set_items)
遍历集合
通过迭代器方法遍历
python
set_items = set([1, 2, 1, 3, 8])
for i in iter(set_items):
print(i)
字典
字典类似 js 中的对象, 就是 key
value
对的合集
定义合集
python
# 注意与 js 不同的是: key 的 "" 双引号不能省略
obj = {
"name": "tom",
"age": 10,
"gender": "male",
}
obj2 = dict(name='jerry', age=10, gender='female')
访问和修改属性
python
obj = {
"name": "tom",
"age": 10,
"gender": "male",
}
obj['name'] = 'jerry'
obj['age'] = 10
# 如果没有这个 key 就新增一个属性
obj['friends'] = ['alex', 'jack', 'mike']
obj['bestFriends'] = 'alex'
# 注: 不能用 . 来访问, 必须使用 [] 来访问
# 在 python 中 . 只能用于对象
print(obj)
遍历字典
python
# obj.keys() 会返回一个所有 key 组成的序列, 遍历序列即可得到每一个 key 及其对应的 value
obj = {
"name": "tom",
"age": 10,
"gender": "male",
}
for key in obj.keys():
val = obj[key]
print(f"key={key} val={val}")