传送门:242. 有效的字母异位词(简单题)
class Solution:
def isAnagram_1(self, s: str, t: str) -> bool:
return sorted(list(s)) == sorted(list(t))
def isAnagram_2(self, s: str, t: str) -> bool:
ss = list(s)
tt = list(t)
ss.sort()
tt.sort()
return ss == tt
def isAnagram_3(self, s: str, t: str) -> bool:
dict1 = {}
dict2 = {}
for ch in s:
dict1[ch] = dict1.get(ch,0) + 1
for ch in t:
dict2[ch] = dict2.get(ch,0) + 1
return dict1 == dict2
补充知识点
列表索引从 0 开始,第二个索引是 1,依此类推。通过索引可以对列表进行截取、组合等操作。
(1)sort()函数
描述
sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
语法
sort()方法语法:list.sort( key=None, reverse=False)
参数
- key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
(2) sorted()函数
描述
sorted() 函数对所有可迭代的对象进行排序操作。
语法
sorted 语法:sorted(iterable, cmp=None, key=None, reverse=False)
参数
- iterable -- 可迭代对象。
- cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
- key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
(3)字典dict()
原文链接:Python 字典(Dictionary) | 菜鸟教程 (runoob.com)
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号(:)分割,每个键值对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }
键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。
python字典的内置方法
序号 | 函数及描述 |
---|---|
1 | dict.clear() —— 删除字典内所有元素 |
2 | dict.copy() —— 返回一个字典的浅拷贝 |
3 | 创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值 |
4 | dict.get(key, default=None) —— 返回指定键的值,如果值不在字典中返回default值 |
5 | dict.has_key(key) —— 如果键在字典dict里返回true,否则返回false |
6 | dict.items() —— 以列表返回可遍历的(键, 值) 元组数组 |
7 | dict.keys() —— 以列表返回一个字典所有的键 |
8 | dict.setdefault(key, default=None) —— 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default |
9 | dict.update(dict2) —— 把字典dict2的键/值对更新到dict里 |
10 | dict.values() —— 以列表返回字典中的所有值 |
11 | pop(key[,default]) —— 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。 |
12 | popitem() —— 返回并删除字典中的最后一对键和值。 |