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. E20190225-hm

    seal  n. 密封; 印章; 海豹; 封条;   v. 密封; 盖章; 决定; 封上(信封); primitive adj. 原始的; 发展水平低的; 落后的; [生物学] 原生的;  n. 原始 ...

  2. html标签英文全称

    更新: 2017/06/09 最近网页开发,一直会查html和css 感觉之前写的这个太杂了,现在主要是先查这个博文,然后查文档.   -------------------------------- ...

  3. CTP 下单返回错误: 没有报单权限 和字段错误需要注意的问题

    没有报单权限一般被认为期货公司没有开权限, 但是更多的问题是没有填写 BrokerId, InvestorId 下单字段错误注意一个容易忽略的地方: a. order 应该全部设为0, b. orde ...

  4. IT兄弟连 JavaWeb教程 JSP访问JavaBean

    在JSP网页中,既可以通过程序代码来访问JavaBean,也可以通过特定的JSP标签来访问JavaBean.采用后一种方法,可以减少JSP网页中的程序代码,使他更接近与HTML页面.下面介绍访问Jav ...

  5. IT兄弟连 JavaWeb教程 Cookie和Session应用结合使用

    一般对于不要求安全的非敏感数据,建议存储在Cookie中! 对于敏感的数据,占用空间较小的,建议存储在Session中! 对于敏感的,较大的数据,存数据库!

  6. Luogu P1092 虫食算【搜索/剪枝】 By cellur925

    题目传送门 这道题是一道经久不衰的搜索题目,但是开始做的时候我没什么思路==.初始值-1 输出格式 \(naive\)想法 从右往左依次尝试填充数字,把算式当做一个3行\(n\)列的网格.(什么?你问 ...

  7. Visual Studio 2015、2013、2012、2010、2008、2005各版本下载+有效密钥激活

    Visual Studio是微软发布的一个集成开发工具,业内一般简称为VS,广泛应用于Windows软件开发.网站开发等,是目前十分流行的windows应用程序的集成开发工具,如果大家不了解,可以简单 ...

  8. Response.Redirect 产生的“正在中止线程”错误

    Response.Redirect 产生的“正在中止线程”错误 今天在开发调试过程中,出现在一个 "正在中止线程"异常信息. 调用Response.Redirect()方法产生的, ...

  9. idea | 设置支持java8的lambda表达式

    修改配置: setting:       project structure:

  10. ShareSDK集成遇到问题

    解决方案