基本函数的使用
字数
716 字
阅读时间
4 分钟
一、for循环
1. 遍历
- 直接for循环遍历可迭代对象内容
python
# nums = [1, 2, 3, 4, 5]
for i in nums:
print(f"{i}") # 会依次输出列表nums中的元素- 借用range()和len()函数遍历,类似C/C++的
for(int i = 0; i < n; i ++)
python
# nums = [11, 23, 32]
for i in range(len(nums)):
print(f"下标{i}: 实际值{nums[i]}")
"""
输出为:
下标0: 实际值11
下标1: 实际值23
下标2: 实际值32
"""- 可使用
enumerate()函数实现,该函数会在迭代时自动生成一个从 0 开始的计数器,并输出 (索引,元素) 格式的元组
python
# nums = [32, 45, 21]
dic = dict()
for k, v in emunerate(nums):
dic[k] = v
print(k, v)
"""
输出:下标 元素
0 32
1 45
2 21
"""二、字典
1. 可迭代对象(列表、元组、字符串、字典、集合等)转字典
- 可使用
enumerate()函数实现,该函数会在迭代时自动生成一个从 0 开始的计数器,并输出 (索引,元素) 格式的元组
python
# nums = [32, 45, 21]
dic = dict()
for k, v in emunerate(nums):
dic[k] = v
print(k, v)
"""
输出:下标 元素
0 32
1 45
2 21
"""2. 创建字典
- 常见用法
python
dic = dict()
dic1 = {}
# 以上两种方法均可创建字典- 使用
collections.defaultdict()函数创建字典,若访问不存在的键,则会自动创建一个默认值,并将该键和默认值均存入字典,不会抛出异常
python
from collections import defaultdict
# 普通字典
d1 = dict()
# d1['a'].append(1) # KeyError: 'a'
# defaultdict(list)
d2 = defaultdict(list) # 自动创建的默认值是list类型
d2['b'] = 123 # 也可手动创建其他类型的value
d2['a'].append(1) # 自动创建 d2['a'] = [],然后追加 1
print(d2) # {'a': [1]}三、sort()函数
sort()排序的时间复杂度为O(
),如果题目要求时间复杂度为O(n)就不能用
sort()函数仅可用于列表排序,且会直接修改原列表,返回值为None,不可链式调用; sorted()函数可用于所有可迭代对象,且原迭代对象保持不变,返回值为排序后的新对象,可链式调用- 对字符串的排序:按字典序排序
python
str = "avdcw"
new_str = sorted(str)
print(new_str) # 输出:acdvw (已经被排序)
new_str1 = sorted(str, reverse=True) # sorted(目标可迭代对象,key=函数,reverse=True/False)
print(new_str1) # 输出:wvdca- 对字符串列表进行排序:先按首字母字典序排序,首字母相同再按第二个字母的字典序排序,以此类推
python
words = ["apple", "banana", "cherry", "date"]
# 按最后一个字符排序
print(sorted(words, key=lambda x: x[-1])) # ['banana', 'apple', 'date', 'cherry']