python字典和列表中一些容易被忽视的基本用法

一、列表list

1.给切片赋值

例如:

numbers = [1, 5]
numbers[1:1] = [2, 3, 4]
# 输出为:
[1, 2, 3, 4, 5]

2.count方法

计算指定的元素在列表中出现了多少次。[‘to’, ‘be’, ‘or’, ‘not’, ‘to’, ‘be’].count(‘to’)的结果为2.

3.extend方法

将多个值添加到列表末尾,与拼接“+”不同的是该方法直接改变被添加列表,而“+”是返回一个新的列表。

此外,拼接的效率通常要比extend要低。其实不止extend方法,在写python时尽量使用内置的方法,这样效率通过会更高。

4.insert方法

list.insert(index, element),在列表的指定位置插入一个元素,其作用与切片赋值有些类似。

5.pop方法

list.pop(index=-1),删除列表指定位置元素,默认删除末尾元素。返回值为被删除的元素值。

6.remove方法

list.remove(element),删除列表中值为element的第一个元素。remove修改列表,没有返回值。

7.reverse方法

list.reverse(),得到反向列表。reverse修改列表,但没有返回值。

8.sort/sorted方法

list.sort()没有返回值,直接修改列表,顺序排序;sorted(list)返回排序后的列表,可以用于赋值操作。

两个关键参数:key和reverse。

list.sort(key=len)表示按照列表中元素的长度来排序。

list.sort(reverse=True)表示对列表进行降序排序。

小结:

列表是python中非常常用的数据结构之一(另一个是字典,元组个人感觉用的相对少一些),但是列表的方法在日常使用中反而用的不是很多。

二、字典dict

1.利用format_map进行格式化输出

phonebook={'Beth': '9102', 'Alice': '2341', 'Cecil': '3258'}
"Cecil's phone number is {Cecil}.".format_map(phonebook)
# 输出为
"Cecil's phone number is 3258."

2.fromkeys方法

用于创建一个新字典,指定键名称,值默认为None,也可以自行指定。

dict.fromkeys(['name', 'age'], default=None)
{'age': None, 'name': None}

3.get方法

dict.get(key)一个容错性强的dict取值方法,如果找不到则会返回None。

4.items方法

将dict转换为列表,列表的每个元素为形如(key, value)的格式。

5.pop方法

获取与指定键相关联的值,并将该键值对从字典中删除。

6.setdefault方法

dict.setdefault(key, value),与get方法类似,不同的是当字典不包含指定的键时,会在字典中添加指定的键-值对。

7.update

dict1.update(dict2),将dict2添加到dict1中。

注:dict的数据合并和添加相比list比较特殊。

小结:

dict转换list比较容易,除了items方法外,还可以取keys()或values()转换为list。

list转换为dict可以使用dict(zip(list1, list2))的方法,这样list1作为key,list2作为value。

    原文作者:奔跑de鳄鱼
    原文地址: https://www.jianshu.com/p/78a76f06c1aa
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞