重点:
在python中,整形、字符串和元组。是不可改变数据类型
字符串、列表、元组、集合可以直接使用for,字典需要根据key或者value遍历

字符串

1、字符串下标

st="zxcvbnm"
print(f'st的类型为:{type(st)}')
print(st[0])
print(st[2])
print(st[4])
print(st)

不可以直接通过下标直接改变字符串里面的元素,但是可以通过下标读取。简单点记忆就是可读不可写
运行结果:

st的类型为:<class 'str'>
z
c
b
zxcvbnm

2、字符串的切片

 序列名[开始位置的下标:结束位置的下表:步长]取值区间左闭右开的

str1 = '012345678'
print(str1[2:5:1])
print(str1[2:5:2])
print(str1[2:5])  # 如果不写步长,默认步长是1
print(str1[:5])   # 如果不写开始,默认从0开始选取
print(str1[2:])  # 如果不写结束,表示选取到最后
print(str1[:])  # 如果不写开始和结束,表示选取所有

运行结果:

234
24
234
01234
2345678
012345678

str1 = '012345678'
print(str1[::-1]) # 如果步长为负数,表示倒叙选取
print(str1[-4:-1]) # 下标为-1表示最后一个数据,依次向前类推
print(str1[-4:-1:1])
print(str1[-4:-1:-1]) # 不能选取出数据:从-4开始到-1结束,选取方向从左到右,但是-1步长:从右向左选取
print(str1[-1:-4:-1]) # 876 方向一致就可以正确输出# 如果选取方向(下标开始到结束的方向)和步长方向冲突,则无法选取数据

运行结果:

876543210
567
567876

当为负数的时候要注意方向问题
0 1 2 3 4 5 6 7 8
比如print(str1[-4:-1])
-4对应的数字是字符串中的5,-1对应的数字是字符串中的8,步长是1。整体方向是从左到右,即是5 6 7
.
print(str1[-4 :- 1:-1])再看这句,-4对应5,-1对应8,方向是从左到右(---->),步长是-1,方向是从右至左,这两个方向相反,所以输出不了任何东西
.
print(str1[-1:-4:-1]) ,-1对应的是8,-4对应的是5,方向是从右至左(<—),步长是-1,方向也是从右至左,两个方向相同所以是876,注意左边区间是-1,对应的是8,右边区间是5,根据左闭右开,所以是876没有5

3、字符串的查找

mystr = 'hello world and itcast and itsmail and Python'
#基本上记住一个find就行了
# 1. find()
print(mystr.find('and')) # 输出的是12,以为下标是从0开始数的
print(mystr.find('and',15,30))
print(mystr.find('ands')) # -1,ands字串不存在# 2. index
print(mystr.find('and')) # 12
print(mystr.find('and',15,30)) #23
#print(mystr.index('ands')) #如果index查找字串不存在,报错# 3. count()
#count() 方法用于统计字符串里某个字符或子字符串出现的次数。可选参数为在字符串搜索的开始与结束位置。
print(mystr.count('and')) #3
print(mystr.count('and',15,30)) # 1
print(mystr.count('ands'))# 0# 4. rfind()
#rfind() 返回字符串最后一次出现的位置,如果没有匹配项则返回-1。
print(mystr.rfind('and')) #35
print(mystr.rfind('ands')) #-1 如果没找到,则返回-1# 5. rindex()
#返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常,
#你可以指定可选参数[beg:end]设置查找的区间。
print(mystr.rindex('and'))# 35  就算是到着找,它的下标还是从左到右从下标0开始的
#print(mystr.rindex('ands'))

4、字符串的修改

字符串是不可修改的数据类型,那么我们要如何修改字符串呢?
备份啊,简单点理解就是给原字符串复制一份,在复制数据的过程中修改要复制的元素,最后形成一个新的字符串(这样理解是有点问题。。。。不过,问题不大!!!哈哈哈)

str1 = " aaa bbb ccc ddd aaa bbb ccc ddd eee fff aaa"
#将字符串中的所有aaa全部替换成111
str2 = str1.replace("aaa","111")
print(f"str1: {str1}")
print(f"str2: {str2}")
print()
#将字符串中第一个aaa替换成111
print(f"str1: {str1}")
str3 = str1.replace("aaa","111",1)#如果次数超过字符串中子字符串的个数,将全部替换
print(f"str3: {str3}")
print()
#将列表里面元素合并成字符串
mylist = ['aa','bb','cc']
new_str4 = '...'.join(mylist)
print(new_str4)
print(type(new_str4))

运行结果:

str1:  aaa bbb ccc ddd aaa bbb ccc ddd eee fff aaa
str2:  111 bbb ccc ddd 111 bbb ccc ddd eee fff 111str1:  aaa bbb ccc ddd aaa bbb ccc ddd eee fff aaa
str3:  111 bbb ccc ddd aaa bbb ccc ddd eee fff aaastr1:  aaa bbb ccc ddd aaa bbb ccc ddd eee fff aaa
str4: [' ', ' bbb ccc ddd ', ' bbb ccc ddd eee fff ', '']
aa...bb...cc
<class 'str'>

5、字符串的拼接

str5=str1+str2
print(str5)

列表

st=[1,2,3,'s','zxcvb']
print(f'st的类型为:{type(st)}')
print(st)
print(st[4])
st[4]=4
print(st)

运行结果:

st的类型为:<class 'list'>
[1, 2, 3, 's', 'zxcvb']
zxcvb
[1, 2, 3, 's', 4]

元组

st=(123,456,789,'s',"zxcvbnm")
print(f'st的类型为:{type(st)}')
print(st[0])
print(st[1])
print(st[2])
print(st)

运行结果:

st的类型为:<class 'tuple'>
123
456
789
(123, 456, 789, 's', 'zxcvbnm')

注意:元组中只有一个元素其后面必须加逗号,否则类型不确定

sr=(1,)
如果写成sr=(1)那么sr就不是元组类型,变成了int类型

集合

1、集合打印内容是无序的

st = {'感谢','你','阅读','我的','博客'}
print(st)

运行结果:

{'你', '阅读', '博客', '感谢', '我的'}

2、自动去重,集合会自动去除其中重复的元素

st = {1,2,3,3,3,5,7,4,999,245}
print(st)

运行结果:

{1, 2, 3, 4, 5, 7, 999, 245}

3、集合中添加元素 xxx.add(xxx)

st = {1,3}
st.add(999)
print(st)

运行结果:

{1, 3, 999}

4、集合中删除元素
4.1 随机删除一个元素 xxx.pop()

st = {1,3,5,7,9}
st.pop()#随机删除集合中的一个元素
print(st)

运行结果:

st = {1,3,5,7,9}
st.pop()
print(st)

4.2 指定删除某个元素 xxx.remove(xxx)

st = {1,3,5,7,9}
st.remove(9)#指定删除集合中的一个元素,如果指定元素不存在会报错
print(st)

运行结果:

{1, 3, 5, 7}

4.3 指定删除某个元素 xxx.discard(xxx)

st = {1,3,5,7,9}
st.discard(9) #discard用法和remove一样,不过如果指定的元素不存在不会报错
st.discard(100)
print(st)

运行结果:

{1, 3, 5, 7}

5、集合运算
5.1 集合间的交集 xxx.intersection(xxx)


普通取交集方式

st=[1,2,3,4,5,6,7]
lp=[1,2,3,]
sr=[]
for a in st:if a in lp:sr.append(a)#append函数用于列表的元素追加
print(sr)

运行结果:

[1, 2, 3]

集合间取交集方式

st={2,4,6,8,10}
lp={6,8}
sr = st.intersection(lp) #方式一
print(sr)
sp=st&lp #方式二
print(sp)

运行结果:

{8, 6}
{8, 6}

5.2 集合间的并集 xxx.union(xxx)

st={1,2,3,4,5}
lp={6,7,8,9}
sr = st.union(lp) #方式一
print(sr)
sp=st | lp #方式二
print(sp)

运行结果:

{1, 2, 3, 4, 5, 6, 7, 8, 9}
{1, 2, 3, 4, 5, 6, 7, 8, 9}

5.3 集合间的差集 xxx.difference(xxx)
差集:简单来说就是我有的,你没有的

st={1,2,3,4,5}
lp={1,7}
sr = st.difference(lp) #方式一
print(sr)
sp=st-lp #方式二
print(sp)sr = lp.difference(st)
print(sr)
sp=lp-st
print(sp)

运行结果:

{2, 3, 4, 5}
{2, 3, 4, 5}
{7}
{7}

5.4 集合间的交叉补集xxx.symmetric_difference(xxx)
交叉补集:我有的你没有的+你有的我没有的

st={1,2,3,4,5}
lp={1,7}
sr = st.symmetric_difference(lp) #方式一
print(sr)
sp=lp^st #方式二
print(sp)

运行结果:

{2, 3, 4, 5, 7}
{2, 3, 4, 5, 7}

字典

遍历key值

st={'a':1,'b':2,'c':3,'d':4}
for key in st.keys():print(f'{key}:{st[key]}')

运行结果:

a:1
b:2
c:3
d:4

遍历value值

st={'a':1,'b':2,'c':3,'d':4}
for value in st.values():print(value)

运行结果:

2
3
4
未更新完,会持续更新的。

Python基础数据类型:字符串,列表,元组,集合,字典用法总结相关推荐

  1. python基础数据类型之列表,元组(基础二)

    第四章 python基础数据类型之列表,元组(基础二) python常用数据类型之组合数据类型:列表,元组. 4.1 列表 list 列表介绍 列表是python的基础数据类型之⼀ ,其他编程语⾔言也 ...

  2. 【数据分析】python基础必修2—字符串/列表/元组/集合/字典

    目录 1.字符串 2.列表 list 2.1list操作练习 3.元组 tuple 4.集合 set 4.1集合间的运算 5.字典 1.字符串 声明一个字符串 # 声明一个字符串# 单引号声明 s = ...

  3. python中元组和列表转化_4.Python列表/元组/集合/字典

    4.1 Python列表 • 列表用 [ ] 标识,是Python 最通用的复合数据类型. • 列表用 [ ] 表示,列表具有可嵌套性 4.1.1 Python列表截取 • 列表可以使用 [头下标:尾 ...

  4. Python 基础数据类型 -字符串(str)的详细用法

    字符串是编程中最重要的数据类型,也是最常见的 1.字符串的表示方式 -单引号' ' 双引号 " " 多引号 """ """ ...

  5. Python基础——数据类型—字符串

    数据类型--字符串 数据类型--字符串 查看数据的数据类型 type() enumerate() str字符串 字符串的常见操作 字符串的访问 字符串的截取 字符串的复制和拼接 字符串的大小写转换 字 ...

  6. 列表,元组,集合,字典常用方法

    列表(元组)常用方法 append(data) 追加 将参数data追加到列表末尾,不管data是个什么玩意都当做元素对待list.append(data) extend(model) 合并 将两个列 ...

  7. python列表元组集合字典_Python列表、元组、字典、集合的方法

    一.列表 1.count() 定义:统计指定元素在列表中出现的次数并返回这个数.若指定的元素不存在则返回:0. 格式:[列表].count("指定元素") 例:统计指定元素的个数 ...

  8. python入门之 列表 元组 集合 字典 最全教程

    一.列表 列表(list)是Python中的一种数据结构,它可以存储不同类型的数据.不同元素以逗号分隔. //下标索引访问 A = ['xiaoWang', 'xiaoZhang', 'xiaoHua ...

  9. Python运维开发(CMDB资产管理系统)——Python基础数据类型

    Python基础数据类型 字符串(可以通过单引号,双引号,三个双引号来表示) 布尔(True和False) 整数 浮点数 列表 定义一个列表 列表常用的一些函数 append(向列表中添加元素,元素可 ...

  10. Python 字符串/列表/元组/字典之间的相互转换 - Python零基础入门教程

    目录 一.字符串 str 与列表 list 1.字符串转列表 2.列表转字符串 二.字符串 str 与字典 dict 1.字符串转字典 2.字典转字符串 三.列表 list 与字典 dict 1.列表 ...

最新文章

  1. 突然吐字不清_突然口齿不清是什么病
  2. Insertion Loss Return Loss
  3. php中接口调用方法的区别,phpcms常用接口调用方法
  4. element ui登录界面_Vue和Element-UI做一个简单的登录页面
  5. Facebook有1万名员工在研发AR/VR设备 占员工总数近1/5
  6. 梯度下降法_梯度下降
  7. mySql版本的相关问题:com.mysql.cj.jdbc.Driver和com.mysql.jdbc.Driver
  8. 为什么Python没有属性赋值的“with”语句?
  9. 【安装包】XMind-ZEN-Update-2019-for-Windows-64bit-9.2.1
  10. 大数据环境搭建之hadoop完全分布式搭建
  11. 李雅普诺夫稳定性理论
  12. vmware esxi 资源池详解
  13. java实现excel动态表头导入
  14. 品荔枝赏文化,美丽乡村不一样的嘉年华
  15. 小猿圈分享利用python网络爬虫获取网易云歌词
  16. 用jQuery实现旋转木马效果(带前后按钮和索引按钮)
  17. TI mmWave radar sensors Tutorial 笔记 | Module 4 : Some System Design Topics
  18. Nginx的一些配置项,Nginx调优
  19. C语言已知单链表LA=(a1,a2,…,am)和LB=(b1,b2,…,bn),编写程序按以下规则将它们合并成一个单链表LC,
  20. 单片机+人体红外感应的自动垃圾桶源程序与原理图

热门文章

  1. PLC_自动化控制系统_1_简说自动化控制系统
  2. 带你读论文系列之计算机视觉--Inception V4
  3. Android 弹幕(一)自定义
  4. PHP pdf转化为图片(PNG)
  5. 基层群众工作存在的问题_当前基层群众在移风易俗方面存在的问题
  6. ArcGIS Server 基于Token密匙
  7. android导航功能介绍,百度导航功能介绍
  8. 深入浅出java web_深入浅出javaWeb实战第1讲Web的概念及其演变(上)
  9. ios 判断打开相机权限_iOS 获取用户是否有(相册/相机)权限
  10. 计算机主机开机 风扇没有转动,电脑开机黑屏,电源风扇和CPU风扇都正常转动,但是显示器无任何显示,正常的一声滴,萤幕什么都不显示...