Python【字符串】【列表】【元组】常用操作(三)

简介: Python【字符串】【列表】【元组】常用操作

9.4.5 排序(sort, reverse)


sort方法是将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。

reverse方法是将list逆置。

a = [1, 4, 2, 3]
a.reverse()
print(a)
a.sort()
print(a)
a.sort(reverse=True)
print(a)
[3, 2, 4, 1]
[1, 2, 3, 4]
[4, 3, 2, 1]

9.5 元组


Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号(),列表使用方括号[],例:

aTuple = ('et',77,99.9)
print(aTuple)
('et', 77, 99.9)

9.5.1 访问元组


aTuple = ('et',77,99.9)
print(aTuple[0])
print(aTuple[1])
et
77

9.5.2 修改元组


aTuple = ('et',77,99.9)
aTuple[0]=111
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-2-5bd230fa08e7> in <module>
      1 aTuple = ('et',77,99.9)
----> 2 aTuple[0]=111
TypeError: 'tuple' object does not support item assignment

从上面的运行结果可以得出: python中不允许修改元组的数据,包括不能删除其中的元素。

9.5.3 元组的内置函数count, index


index和count与字符串和列表中的用法相同

a = ('a', 'b', 'c', 'a', 'b')
a.index('a', 1, 3) # 注意是左闭右开区间
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-3-9f690396d394> in <module>
      1 a = ('a', 'b', 'c', 'a', 'b')
----> 2 a.index('a', 1, 3) # 注意是左闭右开区间
      3 a.index('a', 1, 4)
      4 a.count('b')
      5 a.count('d')
ValueError: tuple.index(x): x not in tuple
a.index('a', 1, 4)
a.count('b')
a.count('d')
0

9.6 字典


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


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

d = {key1 : value1, key2 : value2, key3 : value3 }

9.6.1 根据键访问值


info = {'name':'学姐', 'id':99999, 'sex':'f', 'address':'中国上海'}
print(info['name'])
print(info['address'])
学姐
中国上海

若访问不存在的键,则会报错在我们不确定字典中是否存在某个键而又想获取其值时,可以使用get方法,还可以设置默认值:

age = info.get('age')
age #'age'键不存在,所以age为None
type(age)
NoneType
age = info.get('age', 18) # 若info中不存在'age'这个键,就返回默认值18
age
18

9.7 字典的常用操作


9.7.1 修改元素字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改,例:


info = {'name':'学姐', 'id':99999, 'sex':'f', 'address':'中国上海'}
info['id'] = 88888
print('修改之后的id为:%d' % info['id'])
修改之后的id为:88888

9.7.2 添加元素使用 变量名[‘键’] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素,例:


info = {'name':'学姐', 'id':99999, 'sex':'f', 'address':'中国上海'}
newId = input('请输入新的ID')
info['id'] = int(newId)
print('添加之后的id为:%d' % info['id'])
print(info)
添加之后的id为:121212
{'name': '学姐', 'id': 121212, 'sex': 'f', 'address': '中国上海'}

9.7.3 删除元素对字典进行删除操作,有一下几种:


del

clear()

info = {'name':'学姐', 'id':99999, 'sex':'f', 'address':'中国上海'}
print('删除前,%s' % info['name'])
del info['name']
print('删除后,%s' % info['name'])
删除前,学姐
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-12-2de356cae191> in <module>
      2 print('删除前,%s' % info['name'])
      3 del info['name']
----> 4 print('删除后,%s' % info['name'])
KeyError: 'name'

del删除整个字典

info = {'name':'学姐', 'id':99999, 'sex':'f', 'address':'中国上海'}
print('删除前,%s' % info)
del info
print('删除后,%s' % info)
删除前,{'name': '学姐', 'id': 99999, 'sex': 'f', 'address': '中国上海'}
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-13-b6d7faa775d5> in <module>
      2 print('删除前,%s' % info)
      3 del info
----> 4 print('删除后,%s' % info)
NameError: name 'info' is not defined

clear清空整个字典

info = {'name':'学姐', 'id':99999, 'sex':'f', 'address':'中国上海'}
print('清空前,%s' % info)
info.clear()
print('清空后,%s' % info)
清空前,{'name': '学姐', 'id': 99999, 'sex': 'f', 'address': '中国上海'}
清空后,{}

9.7.4 字典的长度


使用len()方法,求字典的长度,例:

info = {'name':'学姐', 'id':99999, 'sex':'f', 'address':'中国上海'}
print('字典的长度:%d' % len(info))
字典的长度:3

9.7.5 找出字典中的所有key


keys返回一个包含字典所有KEY的视图对象,例:

info = {'name':'学姐', 'id':99999, 'sex':'f', 'address':'中国上海'}
dicKeys=info.keys()
print(dicKeys)
print(dicKeys[0])
dict_keys(['name', 'id', 'sex', 'address'])
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-16-a986187e4301> in <module>
      2 dicKeys=info.keys()
      3 print(dicKeys)
----> 4 print(dicKeys[0])
TypeError: 'dict_keys' object is not subscriptable

9.7.6 找出字典所有的value


属性values返回一个包含字典所有value的视图列表,用法同上,例:

info = {'name':'学姐', 'id':99999, 'sex':'f', 'address':'中国上海'}
dicvalues=list(info.values())
print(dicvalues)
print(dicvalues[0])
['学姐', 99999, 'f', '中国上海']
学姐

9.7.7 找出字典的(键,值)


属性items,返回一个包含所有(键,值)元祖的列表

info = {'name':'学姐', 'id':99999, 'sex':'f', 'address':'中国上海'}
dicItems=info.items()
print(dicItems)
dict_items([('name', '学姐'), ('id', 99999), ('sex', 'f'), ('address', '中国上海')])

9.7.8 判断key是否存在


“key in dict"如果键在字典dict里返回true,否则返回false,例:

info = {'name':'学姐', 'id':99999, 'sex':'f', 'address':'中国上海'}
ss='name' in info
print(ss)
True

9.7.9 遍历字典的几种方式


1) 遍历字典的key(键)

info = {'name':'学姐', 'id':99999, 'sex':'f', 'address':'中国上海'}
for key in info.keys():
    print(key)
name
id
sex
address

2) 遍历字典的value(值)

info = {'name':'学姐', 'id':99999, 'sex':'f', 'address':'中国上海'}
for key in info.values():
    print(key)
学姐
99999
f
中国上海

3) 遍历字典的项(元素)

info = {'name':'学姐', 'id':99999, 'sex':'f', 'address':'中国上海'}
for item in info.items():
    print(item)
('name', '学姐')
('id', 99999)
('sex', 'f')
('address', '中国上海')

4) 遍历字典的key-value(键值对)

info = {'name':'学姐', 'id':99999, 'sex':'f', 'address':'中国上海'}
for key, value in info.items():
    print("key=%s,value=%s" % (key, value))
key=name,value=学姐
key=id,value=99999
key=sex,value=f
key=address,value=中国上海
相关文章
|
10月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
527 2
|
10月前
|
开发者 Python
Python列表推导式:优雅与效率的完美结合
Python列表推导式:优雅与效率的完美结合
597 116
|
10月前
|
大数据 开发者 Python
Python列表推导式:简洁与高效的艺术
Python列表推导式:简洁与高效的艺术
522 109
|
10月前
|
Python
Python列表推导式:简洁与高效的艺术
Python列表推导式:简洁与高效的艺术
604 119
|
10月前
|
Python
Python列表推导式:优雅与效率的艺术
Python列表推导式:优雅与效率的艺术
476 99
|
10月前
|
Python
Python列表推导式:简洁与高效的艺术
Python列表推导式:简洁与高效的艺术
|
10月前
|
索引 Python
Python 列表切片赋值教程:掌握 “移花接木” 式列表修改技巧
本文通过生动的“嫁接”比喻,讲解Python列表切片赋值操作。切片可修改原列表内容,实现头部、尾部或中间元素替换,支持不等长赋值,灵活实现列表结构更新。
517 1
|
10月前
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
407 4
|
10月前
|
索引 Python
098-python列表_切片_slice_开始_结束
本文介绍了Python中列表的切片(slice)操作,通过“前闭后开”原则截取列表片段,支持正负索引、省略端点等用法,并结合生活实例(如切面包、直播切片)帮助理解。切片不改变原列表,返回新列表。
494 4
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
651 0

推荐镜像

更多