Skip to content

基本函数的使用

字数
716 字
阅读时间
4 分钟

一、for循环

1. 遍历

  1. 直接for循环遍历可迭代对象内容
python
# nums = [1, 2, 3, 4, 5]
for i in nums:
	print(f"{i}") # 会依次输出列表nums中的元素
  1. 借用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
	"""
  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
	"""

二、字典

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. 创建字典

  1. 常见用法
python
dic = dict()
dic1 = {} 
# 以上两种方法均可创建字典
  1. 使用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(nlogn),如果题目要求时间复杂度为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']

贡献者

The avatar of contributor named as freeway348 freeway348

文件历史

撰写