Python(二)str、list、tuple、dict、set

string

py 复制代码
name = 'abcdef'

print(name[0])                                               #a
# 切片:取部分数据
print(name[0:3]) # 取 下标为0,1,2的字符                       abc
print(name[2:]) # 取 下标为2开始到最后的字符                  cdef
print(name[1:-1]) # 取 下标为1开始 到 最后第2个  之间的字符   bcde

查找:

  • find(): 字符串序列.find(子串, 开始位置下标, 结束位置下标),有则返回索引,没有则返回-1
  • index():检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则则报异常。
py 复制代码
sentence = "I am quite pleased to hear that you are learning python to write program"
print(sentence.find('to'))  # 19
print(sentence.find('to', 30, 60))  # 56  从某个区域内查找
print(sentence.find('tos'))  # -1

print(sentence.index('to'))  # 19
print(sentence.index('to', 30, 60))  # 56
print(sentence.index('tos'))  # 报错

修改:

  • replace(): 字符串序列.replace(旧子串, 新子串, 替换次数),如果省略或设为-1,则替换所有匹配的子串。
  • split(): 字符串序列.split(分割字符, num)
py 复制代码
sentence = "I am quite pleased to hear that you are learning python  to write program"

# 结果:I am quite pleased go hear that you are learning python  go write program
print(sentence.replace('to', 'go'))
# 结果:I am quite pleased go hear that you are learning python  go write program
print(sentence.replace('to', 'go', 10))
# 结果:I am quite pleased to hear that you are learning python  to write program
print(sentence)


# 结果:['I am quite pleased ', ' hear that you are learning python  ', ' write program']
print(sentence.split('to'))
# 结果:['I am quite pleased ', ' hear that you are learning python  to write program']
print(sentence.split('to', 1))
# 结果:['I', 'am', 'quite', 'pleased', 'to', 'hear', 'that', 'you', 'are', 'learning', 'python', '', 'to', 'write', 'program']
print(sentence.split(' '))
# 结果:['I', 'am', 'quite pleased to hear that you are learning python  to write program']
print(sentence.split(' ', 2))

其他API:

  • capitalize:第一个字符大写
  • title:每个单词首字母大写
  • startswith:检查是否以传入的字符串开头
  • endswith:检查是否以传入的字符串开头结尾
  • lower:所有大写转为小写
  • upper:所有小写转为大写
  • strip:删除两端空格(lstrip、rstrip)
  • isspace:判断只包含空格
  • isalnum:判断只包含字母或数字
  • isdigit:判断只包含数字
  • isalpha:判断只包含字母

list

  • 有序的集合
  • 可重复
  • 可变
  • 可以存储任何类型的数据
  • 列表是序列结构,可以进行序列结构的基本操作:索引、切片、加、乘、检查成员。
py 复制代码
# 定义list
fruitList = ['orange','apple','banana','grape']
# 获取个数
len(fruitList)
# 查找指定元素是否存在
'orange' in fruitList
# 查找索引
fruitList.index('apple')
# 查找个数
fruitList.count('apple')
py 复制代码
# 访问
fruitList[0]
# 当索引超出了范围时,Python会报一个IndexError错误,所以,要确保索引不要越界,记得最后一个元素的索引是len(fruitList ) - 1
# 访问最后一个还可以使用-1
fruitList[-1]
fruitList[-2]
py 复制代码
# 末尾添加 无返回值
fruitList.append('Adam')
# 指定位置添加 无返回值
fruitList.insert(1, 'Jack')
输出:['orange', 'Jack', 'apple', 'banana', 'grape']
# 删除末尾元素,返回值为被删除的元素
fruitList.pop()
# 删除指定位置元素,返回值为被删除的元素
fruitList.pop(1)
# 替换某个元素 直接给索引赋值
fruitList[1] = 'Sarah'
# 删除索引
del movie_name[2]
# 删除元素
fruitList.remove('Jack')

tuple

  • 有序列表
  • 不可变
  • 可重复
  • 可以是不同的数据类型
  • 只有1个元素的tuple定义时必须加一个逗号,来消除歧义
  • 获取数据和list相同,没有删除和添加方法
  • 定义一个空的tuple,可以写成()
py 复制代码
fruitList = ('orange','apple','banana','grape','grape')

可变:

字典

  • 字典和列表一样,也能够存储多个数据
  • 列表中找某个元素时,是根据下标进行的
  • 字典中找某个元素时,是根据'名字'(就是冒号:前面的那个值,例如上面代码中的'name'、'id'、'sex')
py 复制代码
info = {'name': 'orange', 'id': 100, 'sex': '1', 'address': '地址'}

print(info['name'])
print(info['address'])
# 访问不存在的键会报错

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

py 复制代码
>>> age = info.get('age')
>>> age #'age'键不存在,所以age为None
>>> type(age)
<type 'NoneType'>
>>> age = info.get('age', 18) # 若info中不存在'age'这个键,就返回默认值18
>>> age
18
  • 查看
    使用get获取元素,获取不存在的不会报异常
py 复制代码
 info = {'name':'吴彦祖','age':18}
 print(info.get('sex')) # 获取不存在的key,获取到空的内容,不会出现异常
  • 修改
py 复制代码
info = {'name': 'orange', 'id': 100, 'sex': '1', 'address': '地址'}
new_id = input('请输入新的id')
info['id'] = int(new_id)
print('修改之后的id为%d:' % info['id'])
  • 添加
    如果有就修改 如果没有就新增键值对
py 复制代码
info = {'name': 'orange', 'id': 100, 'sex': '1', 'address': '地址'}
info['newLable'] = 'hi'
  • 删除
py 复制代码
# 删除元素
info = {'name': 'orange', 'id': 100, 'sex': '1', 'address': '地址'}
del info['name']
# 删除整个字段
del info
# 清空整个字典
info.clear()
  • 其他操作
py 复制代码
# get(key, 默认值)  如果当前查找的key不存在则返回第二个参数(默认值),如果省略第二个参数,则返回None。
info = {'name': 'orange', 'id': 100, 'sex': '1', 'address': '地址'}
info.get('name')
# keys() 显示左右key值
# values() 显示所有的value值
# items() 显示所有的键值对(key-value形式)

set

  • 无重复
  • 无序
  • 是一组key的集合,但不存储value
py 复制代码
s = {1, 2, 3}
# 新增
s.add(4)
# 删除
s.remove(4)
相关推荐
GISer_Jing1 分钟前
Vue3状态管理——Pinia
前端·javascript·vue.js
代码的乐趣14 分钟前
支持selenium的chrome driver更新到131.0.6778.204
chrome·python·selenium
好开心3316 分钟前
axios的使用
开发语言·前端·javascript·前端框架·html
Domain-zhuo25 分钟前
Git常用命令
前端·git·gitee·github·gitea·gitcode
又蓝39 分钟前
使用 Python 操作 Excel 表格
开发语言·python·excel
余~~185381628001 小时前
稳定的碰一碰发视频、碰一碰矩阵源码技术开发,支持OEM
开发语言·人工智能·python·音视频
菜根Sec1 小时前
XSS跨站脚本攻击漏洞练习
前端·xss
0zxm1 小时前
06 - Django 视图view
网络·后端·python·django
m0_748257181 小时前
Spring Boot FileUpLoad and Interceptor(文件上传和拦截器,Web入门知识)
前端·spring boot·后端
桃园码工1 小时前
15_HTML5 表单属性 --[HTML5 API 学习之旅]
前端·html5·表单属性