目录
一. list列表扩展的方式有几种(或者说添加元素的方法)
append追加到末尾
list_data = ([1, 2, 3])
list_data.append(4)
print(list_data)
结果
[1, 2, 3, 4]
extend通过迭代追加来扩展元素
list_data = ([1, 2, 3])
str_data = '45'
list_data.extend(str_data)
print(list_data)
结果
[1, 2, 3, '4', '5']
insert在索引前插入对象
list_data = ([1, 2, 3])
list_data.insert(0, 4)
print(list_data)
结果
[4, 1, 2, 3]
二. 对["cherry", "litchi", "strawberry", "mangosteen", "pomelo", "pineapple", "pitaya", "durian"]进行默认排序
fruit_data = ["cherry", "litchi", "strawberry", "mangosteen", "pomelo", "pineapple", "pitaya", "durian"]
fruit_data.sort()
print(fruit_data)
结果
['cherry', 'durian', 'litchi', 'mangosteen', 'pineapple', 'pitaya', 'pomelo', 'strawberry']
对上面的列表使用第三个字母进行排序
def sort_func(x):
return x[2]
fruit_data = ["cherry", "litchi", "strawberry", "mangosteen", "pomelo", "pineapple", "pitaya", "durian"]
fruit_data.sort(key=sort_func)
print(fruit_data)
结果
['cherry', 'pomelo', 'mangosteen', 'pineapple', 'strawberry', 'durian', 'litchi', 'pitaya']
三. dict中所有方法的使用(先写源代码再写样例)
1.clear源码
def clear(self):
""" D.clear() -> None. Remove all items from D. """
#删除所有项目
例
dict_data = {1: 1, 2: 2}
dict_data.clear()
print(dict_data)
结果
{}
2.copy源码
copy(self):
""" D.copy() -> a shallow copy of D """
#浅拷贝
例
dict_data = {1: 1, 2: 2}
data = dict_data.copy()
print(dict_data, data)
结果
{1: 1, 2: 2} {1: 1, 2: 2}
3.get源码
get(self, *args, **kwargs):
""" Return the value for key if key is in the dictionary, else default. """
#如果 key 在字典中,则返回 key 的值,否则返回默认值。
例
dict_data = {1: 1, 2: 2}
data = dict_data.get(1)
print(dict_data, data)
结果
{1: 1, 2: 2} 1
4.items源码
items(self):
""" D.items() -> a set-like object providing a view on D's items """
#一个类似集合的对象,提供字典项目的视图
例
dict_data = {1: 1, 2: 2, 3: 3}
print(dict_data.items())
结果
dict_items([(1, 1), (2, 2), (3, 3)])
5.keys源码
keys(self):
""" D.keys() -> a set-like object providing a view on D's keys """
#一个类似集合的对象,提供 字典键上的视图
例
dict_data = {1: 1, 2: 2, 3: 3}
print(dict_data.keys())
结果
dict_keys([1, 2, 3])
6.pop源码
pop(self, k, d=None):
"""
D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
# 删除指定的键并返回相应的值。
If key is not found, default is returned if given, otherwise KeyError is raised
"""
# 如果未找到 key,则返回 default(如果给定),否则引发 KeyError
例
dict_data = {1: 1, 2: 2, 3: 4}
dict_data.pop(3)
print(dict_data)
结果
{1: 1, 2: 2}
7.popitem源码
popitem(self, *args, **kwargs):
"""
Remove and return a (key, value) pair as a 2-tuple.
#删除(键、值)对并将其作为 二元组返回。
Pairs are returned in LIFO (last-in, first-out) order.
Raises KeyError if the dict is empty.
"""
#成对按后进先出(后进先出)顺序返回。
#如果字典为空,则引发 KeyError
例
dict_data = {1: 1, 2: 2, 3: 4}
print(dict_data.popitem)
结果
(1, 2, 4)
8. setdefault源码
setdefault(self, *args, **kwargs):
"""
Insert key with a value of default if key is not in the dictionary.
# 如果键不在字典中,则插入值为默认值的键。
Return the value for key if key is in the dictionary, else default.
# 如果 key 在字典中,则返回 key 的值,否则返回默认值。
"""
例
dict_data = {1: 1, 2: 2, 3: 4}
dict_data.setdefault(4)
print(dict_data)
结果
{1: 1, 2: 2, 3: 4, 4: None}
9. update源码
update函数简介:
可使用字典b中的项来更新另一个字典a:
1、用b中的同名键,覆盖a中原有的键值对
2、将b中有,而a中没有的键值对添加进字典a中
update(self, E=None, **F):
"""
D.update([E, ]**F) -> None. Update D from dict/iterable E and F.
#从字典/可迭代 E 和 F 更新 D。
If E is present and has a .keys() method, then does: for k in E: D[k] = E[k]
# 如果 E 存在并且具有 .keys() 方法,则对于 E 中的 k:D[k] = E[k]
If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v
#如果 E 存在并且缺少 .keys() 方法,则对于 E 中的 k, v:D[k] = v
In either case, this is followed by: for k in F: D[k] = F[k]
# 在任何一种情况下,这后面跟着:对于F中的k:D[k] = F[k]
"""
例
dict_data1 = {1: 1, 2: 2}
dict_data2 = {1: 4, 4: 5}
dict_data1.update(dict_data2)
print(dict_data1)
结果
{1: 4, 2: 2, 4: 5}
10. values源码
获取字典的所有值,它返回一个包含字典所有值的列表的视图对象。
values(self):
""" D.values() -> an object providing a view on D's values """
#在任何一种情况下,这后面跟着:对于F中的k:D[k] = F[k]
例
dict_data = {1: 1, 2: 2, 3: 4}
print(dict_data.values)
结果
dict_values([1, 2, 4])