1. capitalize (首字母大写)

例题:

s = "alex wusir"
s1 = s.capitalize() # 格式
print(s1) '''
输出结果
Alex wusir
'''

2. title (每个单词首字母大写)

例题:

s = 'alex wusir'
s1 = s.title() # 格式
print(s1) '''
输出结果
Alex Wusir
'''

3. count (统计出现的次数)

例题:

s = 'alex wusir'
s1 = s.count('a') # 格式
print(s1) '''
输出结果
1
'''

4. swapcase (大小写转换)

例题:

s = 'alex wusir'
s1 = s.swapcase() # 格式
print(s1) '''
输出结果
ALEX WUSIR
'''

5. 查找

5.1 find 找的是索引值 如果找不到返回-1

例题:

s = 'alex taibai'
s1 = s.find('a') # 格式
s2 = s.find('w')
print(s1)
print(s2)
'''
输出结果
0
-1
'''

5.2 index 找不到报错

例题:

s = 'alex taibai'
s1 = s.index('w') # 格式
s2 = s.index('t')
print(s1)
print(s2)
'''
输出结果
ValueError: substring not found
5
'''

练习题:

找到所有a的索引值
s = "alex taibai"
# 找到所有a的索引
for i in range(len(s)):
if s[i] == 'a':
print(i)
'''
输出结果
0
6
9
'''

6. list (列表)

6.1 创建

方法一

li = list("815678234")  # 迭代创建列表
print(li)
'''
输出结果
['8', '1', '5', '6', '7', '8', '2', '3', '4']
'''

方法二

li = ['8', '1', '5', '6', '7', '8', '2', '3', '4'] # 直接创建列表

6.2 统计

方法: count

li = list("815678234") # 格式
print(li.count("1"))
'''
输出结果
1
''' l1 = list('98761879') # 格式
print(l1.count('9'))
'''
1
'''

6.3 查看

list中没有find

这里的查看指的是查看字符索引的值

方法: index

例题:

li = list('98761879')
print(li.index("8")) # 格式
'''
输出结果
1 这里8的索引值是1
个人见解:
如果字符在一个字符串中有多个,只打印从左到右第一个出现的索引值
'''

6.4 反转

方法: reverse

例题:

li = list('123456')
li.reverse() # 格式
print(li)
'''
输出结果
['6', '5', '4', '3', '2', '1']
'''

6.5 排序

6.5.1 升序

例题:

l1 = list('23485760')
l1.sort() # 格式
printi(l1)
'''
输出结果
['0', '2', '3', '4', '5', '6', '7', '8']
'''

6.5.2 降序

例题:

l1 = list('23485760')
l1.sort(resvers=True) # 格式
print(l1)
'''
['8', '7', '6', '5', '4', '3', '2', '0']
'''

7. tuple (元组)

7.1 创建

方法一

tu = tuple("12345")

方法二

tu = (1,2,3,4,5) # 直接创建

7.2 统计

例题:

tu = tuple("12345")
print(tu.count("3")) # 格式
'''
输出结果
1
'''

7.2 查找

这里查的也是索引值

例题:

tu = tuple("12345")
print(tu.index("1")) # 格式
'''
输出结果
0
'''

8. dic (字典)

8.1 创建

方法一: 直接创建

例题:

dic = {'k': 1, 'k1': 123, 'k2': 'aa', 'k3': 222, 'k4': 1123123}
print(dic)
{'k': 1, 'k1': 123, 'k2': 'aa', 'k3': 222, 'k4': 1123123}}

方法二: dict

例题:

dic = dict(k=1,k1=123,k2="aa",k3=222,k4=1123123)
print(dic)
'''
输出结果
{'k': 1, 'k1': 123, 'k2': 'aa', 'k3': 222, 'k4': 1123123}}
'''

方法三: fromkeys (字典的批量创建)

  • 第一个参数是可迭代对象
  • 第二个参数是每个键对应的值 - - 用的都是同一个内存地址

例题:

dic = {}
dic1 = dic.fromkeys('alex',[1,2,3]) # 格式
print(dic1)
'''
输出结果
{'a': [1, 2, 3], 'l': [1, 2, 3], 'e': [1, 2, 3], 'x': [1, 2, 3]}
'''

8.2 popitem (随机删除)

  • python3.6版本 默认删除最后个键值对
  • python3.5版本以前 随机删除

例题:

dic = {'k': 1, 'k1': 123, 'k2': 'aa', 'k3': 222, 'k4': 1123123}
dic.popitem() # 格式
print(dic)
'''
输出结果
{'k': 1, 'k1': 123, 'k2': 'aa', 'k3': 222}
发现'k4': 1123123已被删除,且是最后一个
'''

9. set (集合)

创建

例题:

s = set("1234")   # 定义方式
print(s) '''
输出结果
{'2', '4', '3', '1'} # 集合是无序的
'''

10. 数据类型转换

10.1 str - int (字符串转换成整型)

  • 识记: 字符串中必须都是十进制的数,才能进行转换,字母字符不可转换

例题:

s = 'abc'
i = int(s) # 格式
print(i,type(i))
'''
输出结果
报错
''' # 正确
s = '123'
i = int(s)
print(i,type(i))
'''
输出结果
123 <class 'int'>
'''

10.2 int - str (整型转换成字符串)

例题:

n = 123
s = str(n) # 格式
print(s,type(s))
'''
输出结果
123 <class 'str'>
'''

10.3 str - list (字符串转换成列表)

例题:

s = "123"
li = list(s)
print(li)
'''
输出结果
['1', '2', '3'] # 转换成列表后格式就是列表格式
'''

10.4 list - str (列表转字符串)

例题:

li = ["12","3"]
s = str(li)
print(s,type(s)) '''
['12', '3'] <class 'str'> # 正常转换出是这种的,看上去还是列表,但类型已经是str了
'''
# 以下这种方法可以转化成正常str形式
li = ["12","3"]
print(''.join(li),type(''.join(li))) # 格式
'''
123 <class 'str'>
'''

10.5 list - tuple (列表转化成元组)

例题:

li = [1,2,3]
tu = tuple(li)
print(tu)
'''
输出结果
(1, 2, 3)
'''

10.6 tuple - list (元组转化成列表)

例题:

tu = (1,2,3)
li = list(tu)
print(li)
'''
输出结果
[1, 2, 3]
'''

10.7 set - list (集合转化成列表)

例题:

s = {12,3,4}
print(list(s))
'''
输出结果
[3, 12, 4]
'''

10.8 list - set (列表转集合)

例题:

li = [1,2,3]
s = set(li)
print(s)
'''
输出结果
{1, 2, 3}
'''

10.9 有坑题

1.把字符串转化成列表
s = "123"
li = s.split()
print(li,type(li))
'''
输出结果
['123'] <class 'list'>
''' 2.将列表转换成字符串
li = ['1','2','3']
s = ''.join(li)
print(s,type(s))
'''
输出结果
123 <class 'str'>
''' # join 不能有数字

10.10 join 出现的2次

  • join 不能有数字
# 第一次
li = ["alex", "wusir", "taibai"]
print('_'.join(li))
'''
输出结果
alex_wusir_taibai
''' # 第二次
li = ['1','2','3']
s = ''.join(li)
print(s,type(s))
'''
输出结果
123 <class 'str'>
'''

11 总结:

字符串 -- 数字:字符串中必须都是十进制的数字

数字 -- 字符串:直接转换

列表 -- 字符串:''.join() -- 可迭代的对象中不能出现数字

字符串 -- 列表:split除字典外,容器数据类型之间可以直接相互转换

七种数据类型:

str,int,bool,list,tuple,dict,set

有序: str,int,bool,list,tuple

无序: dict,set

可变: list,dict,set

不可变: str,int,bool,tuple

访问方式:

直接访问:int,bool,set

顺序访问:list,tuple,str

通过键访问: dict

python之数据类型补充的更多相关文章

  1. python之数据类型补充、集合、深浅copy

    一.内容回顾 代码块: 一个函数,一个模块,一个类,一个文件,交互模式下,每一行就是一个代码块. is == id id()查询对象的内存地址 == 比较的是两边的数值. is 比较的是两边的内存地址 ...

  2. python基础数据类型补充

    python_day_7 一. 今日主要内容: 1. 补充基础数据类型的相关知识点 str. join() 把列表变成字符串 列表不能再循环的时候删除. 因为索引会跟着改变 字典也不能直接循环删除.把 ...

  3. 7.Python初窥门径(数据类型补充,操作及注意事项)

    python(数据类型补充,转换及注意事项) 数据类型补充 str str.capitalize() 首字母大写 str.title() 每个单词首字母大写 str.count() 统计元素在str中 ...

  4. Python基础数据类型补充及深浅拷贝

    本节主要内容:1. 基础数据类型补充2. set集合3. 深浅拷贝主要内容:一. 基础数据类型补充首先关于int和str在之前的学习中已经讲了80%以上了. 所以剩下的自己看一看就可以了.我们补充给一 ...

  5. Python——基础数据类型(补充)

    1.基础数据类型汇总补充 (1)小数据池:   为了节省空间,数字和字符串有,其他的没有[了解]   数字:-5---256之间的数字共用一个内存地址 #(1)i1 = i2 id(i1) == id ...

  6. python基础数据类型补充以及编码的进阶

    一.基本数据类型的补充循环列表改变列表大小的问题#请把列表中索引为基数的元素写出l1=[1,2,3,4,5,6]for i in l1: if i%2!=0: print(i)结果:135二:基本数据 ...

  7. python基础(9):基本数据类型四(set集合)、基础数据类型补充、深浅拷贝

    1. 基础数据类型补充 li = ["李嘉诚", "麻花藤", "⻩海峰", "刘嘉玲"] s = "_&qu ...

  8. PYTHON 100days学习笔记007-2:python数据类型补充(2)

    目录 day007:python数据类型补充(2) 1.Python3 元组 1.1 访问元组 1.2 删除元组 1.3 元组运算符 1.4 元组索引,截取 1.5 元组内置函数 2.python3 ...

  9. PYTHON 100days学习笔记007-1:python数据类型补充(1)

    目录 day007:python数据类型补充(1) 1.数字Number 1.1 Python 数字类型转换 1.2 Python 数字运算 1.3 数学函数 1.4 随机数函数 1.5 三角函数 1 ...

随机推荐

  1. ZOJ3359【阅读理解】

    前言: 和队友一发入魂,很强势. 比赛中题目长的,就和队友一起读,这样比较快,然后还不会梦游,把点一句一句地搞出来. 思路: 在头5次,每次有人踢球就可能会输. 后面谁没进,对方进了救输. 代码: / ...

  2. lightoj 1125【背包·从n个选m个】

    题意: 给你 n 个背包,然后给你两个数,D,M,问你从n个里面挑M个出来,有多少种方法能够整除D: 思路: 试想我先不挑M个出来的话,仅仅是构造一个D的倍数,其实就是构造一个数的话, 其实就是个递推 ...

  3. JAG Practice Contest for ACM-ICPC Asia Regional 2016B题【BFS】

    题意: 就是公主要逃跑,士兵要抓公主,问你能不能逃跑哇: 思路: 就是终点搞成起点,然后BFS一下就好了,最后枚举一下出口到公主的距离是不是<所有的到士兵的距离: #include <bi ...

  4. 3D游戏中人物换装解决方案

    换装基本上是每个网游都必须有的一个功能,每种网游的做法都各有不同,有些是换掉整个模型,有些则是通过可以换掉模型的一个部分完成.前者属于整体换,相对简单些:后者则是通过部分替换实现,目前用的比较多,本文 ...

  5. P4593 [TJOI2018]教科书般的亵渎(拉格朗日插值)

    传送门 首先所有亵渎的张数\(k=m+1\),我们考虑每一次使用亵渎,都是一堆\(i^k\)之和减去那几个没有出现过的\(j^k\),对于没有出现过的我们可以直接快速幂处理并减去,所以现在的问题就是如 ...

  6. niushop,优秀的国产开源电商系统体验

    前几天,小编发布了国产电商开源系统推荐,有个小伙伴后台留言说niushop不错. 先别管这么多,盘他! 我这里下载的是B2C单商户免费版 先把源码下载下来.安装之前先看看niushop的环境要求. P ...

  7. Java程序员都应该去使用一下这款强大的国产工具类库

    这不是标题党,今天给大家推荐一个很棒的国产工具类库:Hutool.可能有很多朋友已经知道这个类库了,甚至在已经在使用了,如果你还没有使用过,那不妨去尝试一下,我们项目组目前也在用这个.这篇文章来简单介 ...

  8. Java EE学习笔记(五)

    Spring事务管理 1.Spring事务管理概述 1).在实际开发中,操作数据库时都会涉及到事务管理问题,为此Spring提供了专门用于事务处理的API.(事务特性:ACID,原子性,一致性,隔离性 ...

  9. 关于css中父元素与子元素之间margin-top的问题

    之前在使用经常遇到下面的问题: html: <div class="top"> <div class="one">I'm the fir ...

  10. android的handle

    Handler的定义:  用来接收子线程发送过来的数据,并利用该数据直接更新主线程的UI. 安卓中,一个应用启动时会开启一个主线程(UI线程),他的责任是负责管理界面中的控件.比如当你点击一个Butt ...