python列表和字典使用(详细)

本文详细介绍了Python中列表的三种扩展方式:append、extend和insert,并展示了如何对列表进行排序。此外,还详述了字典的多个方法,包括clear、copy、get、items、keys、pop、popitem、setdefault、update和values的使用及示例,帮助读者深入理解Python数据结构的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一. list列表扩展的方式有几种(或者说添加元素的方法)

append追加到末尾

extend通过迭代追加来扩展元素

insert在索引前插入对象 

二. 对["cherry", "litchi", "strawberry", "mangosteen", "pomelo", "pineapple", "pitaya", "durian"]进行默认排序

对上面的列表使用第三个字母进行排序

三. dict中所有方法的使用(先写源代码再写样例)

1.clear源码

2.copy源码

3.get源码

4.items源码

5.keys源码

6.pop源码

7.popitem源码

8. setdefault源码

9. update源码

10. values源码


一. 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])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值