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=中国上海
相关文章
|
4月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
324 1
|
4月前
|
开发者 Python
Python列表推导式:优雅与效率的完美结合
Python列表推导式:优雅与效率的完美结合
478 116
|
4月前
|
大数据 开发者 Python
Python列表推导式:简洁与高效的艺术
Python列表推导式:简洁与高效的艺术
421 109
|
4月前
|
Python
Python列表推导式:简洁与高效的艺术
Python列表推导式:简洁与高效的艺术
489 119
|
4月前
|
开发者 Python
Python列表推导式:优雅与效率的完美融合
Python列表推导式:优雅与效率的完美融合
354 104
|
4月前
|
Python
Python列表推导式:优雅与效率的艺术
Python列表推导式:优雅与效率的艺术
344 99
|
4月前
|
数据处理 Python
解锁Python列表推导式:优雅与效率的完美融合
解锁Python列表推导式:优雅与效率的完美融合
325 99
|
4月前
|
开发者 Python
Python列表推导式:一行代码的艺术与力量
Python列表推导式:一行代码的艺术与力量
486 95
|
5月前
|
开发者 Python
Python神技:用列表推导式让你的代码更优雅
Python神技:用列表推导式让你的代码更优雅
553 99
|
5月前
|
Python
Python中的f-string:更优雅的字符串格式化
Python中的f-string:更优雅的字符串格式化
385 100

推荐镜像

更多