首页 > 编程语言 >【Python】List 和 Dictionary 复习

【Python】List 和 Dictionary 复习

时间:2023-01-12 17:24:28浏览次数:66  
标签:Dictionary Python list Age List 列表 print tinydict 字典

Python列表(List)

1.简介

List 属于 Python 中最基本数据结构——序列,同为序列的还有 tuple 等。 Python 有6个序列的内置类型,但最常见的是列表和元组。

序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

序列都可以进行的操作包括索引,切片,加,乘,检查成员。

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的创建形式如下:

list1 = ['a','b','c']
list2 = [1, 2, 3, 4, 5 ]

与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。

2.访问 List 中的值
#!/usr/bin/python
 
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5, 6, 7 ]
 
print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]
3.更新 List

你可以对列表的数据项进行更新,你也可以使用append()方法来添加列表项,如下所示:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
list = []          ## 空列表
list.append('Google')   ## 使用 append() 添加元素
list.append('Runoob')
print list
4.删除 List 元素

可以使用 del 语句来删除列表的元素,如下实例:

#!/usr/bin/python
 
list1 = ['physics', 'chemistry', 1997, 2000]
 
print list1
del list1[2]
print "After deleting value at index 2 : "
print list1
5.Python List 操作符

List 对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

Python 表达式 结果 描述
len([1, 2, 3]) 3 长度
[1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] 组合
['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] 重复
3 in [1, 2, 3] True 元素是否存在于列表中
for x in [1, 2, 3]: print x, 1 2 3 迭代
6.Python List 截取
>>>L = ['Google', 'Runoob', 'Taobao']
>>> L[2]
'Taobao'
>>> L[-2]
'Runoob'
>>> L[1:]
['Runoob', 'Taobao']
>>>

描述:

Python 表达式 结果 描述
L[2] 'Taobao' 读取列表中第三个元素
L[-2] 'Runoob' 读取列表中倒数第二个元素
L[1:] ['Runoob', 'Taobao'] 从第二个元素开始截取列表
7.Python List 函数&方法

Python包含以下函数:

序号 函数
1 list1>list2 / list1<list2 / list1==list2 比较两个列表的元素
2 len(list) 列表元素个数
3 max(list) 返回列表元素最大值
4 min(list) 返回列表元素最小值
5 list(seq) 将元组转换为列表

Python包含以下方法:

序号 方法
1 list.append(obj) 在列表末尾添加新的对象
2 list.count(obj) 统计某个元素在列表中出现的次数
3 list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4 list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
5 list.insert(index, obj) 将对象插入列表
6 [list.pop(index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7 list.remove(obj) 移除列表中某个值的第一个匹配项
8 list.reverse() 反向列表中元素
9 list.sort(cmp=None, key=None, reverse=False) 对原列表进行排序

Python字典(Dictionary)

1.简介

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key:value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

注意:dict 作为 Python 的关键字和内置函数,变量名不建议命名为dict

键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。

>>> tinydict = {'a': 1, 'b': 2, 'b': '3'}
>>> tinydict['b']
'3'
>>> tinydict
{'a': 1, 'b': '3'}

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

一个简单的字典实例:

tinydict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

也可如此创建字典:

tinydict1 = { 'abc': 456 } tinydict2 = { 'abc': 123, 98.6: 37 }
2.访问字典里的值

把相应的键放入熟悉的方括弧,如下实例:

实例

#!/usr/bin/python
 
tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
 
print "tinydict['Name']: ", tinydict['Name']
print "tinydict['Age']: ", tinydict['Age']

以上实例输出结果:

tinydict['Name']:  Zara
tinydict['Age']:  7

如果用字典里没有的键访问数据,会输出错误如下:

实例

#!/usr/bin/python
 
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 
print "tinydict['Alice']: ", tinydict['Alice']

以上实例输出结果:

tinydict['Alice']: 
Traceback (most recent call last):
  File "test.py", line 5, in <module>
    print "tinydict['Alice']: ", tinydict['Alice']
KeyError: 'Alice'

3.修改字典

向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:

实例

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
 
tinydict['Age'] = 8 # 更新
tinydict['School'] = "RUNOOB" # 添加
 
 
print "tinydict['Age']: ", tinydict['Age']
print "tinydict['School']: ", tinydict['School']

以上实例输出结果:

tinydict['Age']:  8
tinydict['School']:  RUNOOB

3.删除字典元素

能删单一的元素也能清空字典,清空只需一项操作。

显示删除一个字典用del命令,如下实例:

实例

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
 
del tinydict['Name']  # 删除键是'Name'的条目
tinydict.clear()      # 清空字典所有条目
del tinydict          # 删除字典
 
print "tinydict['Age']: ", tinydict['Age'] 
print "tinydict['School']: ", tinydict['School']

但这会引发一个异常,因为用del后字典不再存在:

tinydict['Age']: 
Traceback (most recent call last):
  File "test.py", line 10, in <module>
    print "tinydict['Age']: ", tinydict['Age'] 
NameError: name 'tinydict' is not defined
4.字典键的特性

字典值可以没有限制地取任何 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。

两个重要的点需要记住:

1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:

实例

#!/usr/bin/python
 
tinydict = {'Name': 'Runoob', 'Age': 7, 'Name': 'Manni'} 
 
print "tinydict['Name']: ", tinydict['Name']

以上实例输出结果:

tinydict['Name']:  Manni

2)键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行,如下实例:

实例

#!/usr/bin/python
 
tinydict = {['Name']: 'Zara', 'Age': 7} 
 
print "tinydict['Name']: ", tinydict['Name']

以上实例输出结果:

Traceback (most recent call last):
  File "test.py", line 3, in <module>
    tinydict = {['Name']: 'Zara', 'Age': 7} 
TypeError: unhashable type: 'list'

5.字典内置函数&方法

Python字典包含了以下内置函数:

序号 函数及描述
1 len(dict) 计算字典元素个数,即键的总数。
2 str(dict) 输出字典可打印的字符串表示。
3 type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。

Python字典包含了以下内置方法:

序号 函数及描述
1 dict.clear() 删除字典内所有元素
2 dict.copy() 返回一个字典的浅复制
3 [dict.fromkeys(seq, val]) 创建一个新字典,以序列 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() 返回并删除字典中的最后一对键和值。

参考文献:

[1] https://www.runoob.com/python/python-lists.html

[2] https://www.runoob.com/python/python-dictionary.html

标签:Dictionary,Python,list,Age,List,列表,print,tinydict,字典
From: https://www.cnblogs.com/zhenhua-hotpot/p/17047258.html

相关文章

  • 【Python】ElementTree模块_XML处理模块
    ElementTree模块Tips:Python2.4之前版本在使用ElementTree模块时,需要importxml.etree.ElementTree的操作。 加载文件#将XMl文件加载并返回一个ELementTree对象......
  • 离线安装Python依赖包
    互联网电脑操作导出项目所需要的库安装pipreqspipinstallpipreqs项目目录下执行pipreqs./会生成requirements.txt文件,包含依赖包。pymongo==3.12.3下载离......
  • python的迭代对象和迭代器
    Python中迭代对象(Iterable)是非常核心的内容,今天就和大家分享一下,什么是迭代对象和迭代器.简单来说迭代就等于循环,那么迭代对象就是可以用for循环的对象.一句话记......
  • 用Python找出了删除自己微信的所有人并将他们自动化删除了
    哈喽兄弟们,今天我们来试试用Python找出了删除自己微信的所有人,并将他们自动化删除,免得每次看到感叹号心塞。这不,昨晚小姨子一个人喝多了喊我去接她,但是我睡到现在,刚发......
  • python中argparse模块的用法
    argparse模块一个可执行文件或者脚本都可以接收参数。$ls-l/etc/etc是位置参数-l是短选项如何把这些参数传递给程序呢?从3.2开始Python提供了功能强大的参数......
  • Python中数据库模块(sqlite3,SQLite3)应用
    一、sqlite命令创建数据库:在控制台sqlite3name.databases查看数据库.tables查看表格名databaseName.d......
  • python中封装与解构
    基本概念t1=1,2print(type(t1))#什么类型t2=(1,2)print(type(t2))Python等式右侧出现逗号分隔的多值的时候,就会将这几个值封装到元组中。这种操作称为封装p......
  • 使用python自动发送图片给微信好友
    使用python自动发送图片给微信好友由于pyautogui模块,可以基于UI操作鼠标和键盘,但是无法直接发送图片所以引入了pyperclip模块,直接在运行窗口,打开+复制图片,然后在微信输......
  • python59 linux 剩余相关操作 公钥私钥 paramiko模块
    文件相关信息#查看普通⽂件⼤⼩⽅法[root@jason/tmp]#ls-lh/etc/services#查看⽬录⽂件⼤⼩⽅法du显示⽬录中的数据真实占⽤磁盘空间⼤⼩......
  • 【Python爬虫实战项目】Python爬虫批量下载去哪儿网站旅游数据保存本地
    前言今天给大家介绍的是Python爬虫批量下载去哪儿网站旅游景点信息数据,在这里给需要的小伙伴们代码,并且给出一点小心得。首先是爬取之前应该尽可能伪装成浏览器而不被识......