Skip to content

列表

定义列表

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}")

数据容器通用内置方法

  • len 返回对象的长度(元素个数)
  • max 返回可迭代对象中最大的元素
  • min 返回可迭代对象中最大的元素

Released under the MIT License.