Python是一门解释型语言,它的优势在于代码简洁,易于理解,可以通过大量已封装好的内建方法和第三方模块方法完成日常所需的操作。下面主要归纳了一些经常使用的基本数据类型操作;

--------------------------------------------------字  符  串--------------------------------------------------

  • 索引

起始下标为0 (从前往后数),末尾下标为-1(从后往前数)

str_a = 'hello python'
print(str_a[0])  #打印结果:h
print(str_a[-1])  #打印结果:n
  • 切片

格式:[起始位置:终止位置:步长],默认的步长为1

str_a = 'hello python'
print(str_a[0:12:3])  #打印结果:hlph
  • 拼接

字符串有两种拼接方法,第一种:str1+str2  第二种:','.join((str1,str2)),join方法内的参数是一个可迭代类型的数据

str_a = 'hello'
str_b = 'python'
print(str_a + str_b)  #打印结果:hellopython
print(','.join((str_a, str_b)))  #打印结果:hello,python
  • 格式化输出

Python中字符串格式化输出的方式有三种:

1、传统的格式化方法:%

%s:为字符占位(任意类型)

%d:为数值类型占位

%f:为浮点数占位,默认保留6位小数

print('我是%s' % '小明')  #打印结果:我是小明
print('今年%d岁' % 24)  #打印结果:今年24岁
print('身高%.2f' % 1.7381)  #打印结果:身高1.74

2、format格式化输出

字符串中有多少{},format中就可以传入多少个数据,依次填充;并且format中的参数可以比{}个数多,但不能少,否则会报错

str_a = 大家好,我叫{},今年{}岁
print(str_a.format('小明', 18))  #打印结果:大家好,我叫小明,今年18岁
#保留小数点后面的位数
print('今天的猪肉价格是{:.2f}元'.format(28.623))  #打印结果:今天的猪肉价格是28.62元
#将小数按百分比的形式显示
print('百分比{:.2%}'.format(0.34))  #打印结果:百分比34.00%

3、表达式F

name = '小红'
age = 18
s3 = F'我的名字{name},年龄{age}'
print(s3)  #打印结果:我的名字小红,年龄18
  • 常用方法:

find(参数1,参数2):查找字符串片段在字符串中出现的起始下标位置,参数1表示要查找的字串,参数2表示查找的起始位置,如果没有找到字串则返回-1

str_a = '123abc456def'
res = str_a.find('c', 3)  #res的结果为5

replace(参数1,参数2,参数3):替换指定的字符串片段,参数1表示要替换的字符串片段,参数2表示替换之后的字符串片段,参数3指定替换的次数(默认为替换所有的)

str_a = '123abc456def456456'
res = str_a.replace('', '', 2)  #res的结果为123abc789def789456

split(参数1,参数2):指定分割点对字符串进行分割,参数1表示分割点,参数2指定分割的次数(默认找到的所有分割点及您进行分割)

str_a = '123abc456def456abc456'
res = str_a.split('abc', 1)  #res的结果为['123', '456def456abc456']

count():统计字符串片段在字符串中出现的次数,统计子串出现的次数,若不存在则返回0

str_a = '123abc456def456abc456'
res = str_a.count('')  #res的结果为3

upper():将小写字母转为大写字母

str_a = '123aBc456DeF456Abc456'
res = str_a.upper()  #res的结果为123ABC456DEF456ABC456

lower():将大写字母转为小写字母

str_a = '123aBc456DeF456Abc456'
res = str_a.lower()  #res的结果为123abc456def456abc456

字符串出了上述内建方法之外,还有很多其他方法,比如:title()、capitalize()、swapcase()等

--------------------------------------------------列  表--------------------------------------------------

列表、元组和字符串一样,都是可迭代数据类型,因此它们都支持索引和切片操作,这里不多赘述。此外列表更相比于元组具有更丰富得操作空间,像队列、栈、堆这些数据结构也都和列表有关系。那么列表又有哪些常用的操作呢?

我们向列表增加元素:

list_a = [1, 9, 6, 3, 1, 4, 5]
# 在列表末尾添加一个元素
list_a.append(7)
print(list_a)  #list_a结果为:[1, 9, 6, 3, 1, 4, 5, 7]
# 向列表中插入一个元素(参数1:下标索引,参数2:值)
list_a.insert(5, 8)
print(list_a)  #list_a结果为:[1, 9, 6, 3, 1, 8, 4, 5, 7]
#在列表末尾添加多个元素(可迭代类型的数据)
list_a.extend([2, 3])
print(list_a)  #list_a结果为:[1, 9, 6, 3, 1, 8, 4, 5, 7, 2, 3]

同时列表删除元素的方法也有多种:

remove:删除指定的元素(删除找到的第一个元素)

pop:指定下标位置进行删除(未指定下标时默认删除最后一个)

clear:清空列表中的所有元素

排序:

sort

list_a = [1, 9, 6, 3, 1, 4, 5]
list_a.sort()
print(list_a)  #list_a结果为:[1, 1, 3, 4, 5, 6, 9]

sorted

list_a = [1, 9, 6, 3, 1, 4, 5]
list_b = sorted(list_a)
print(list_b)  #list_b结果为:[1, 1, 3, 4, 5, 6, 9]

sort和sorted默认均为升序排序,它们最大的区别在于sort是将列表本身排序,且sort方法没有返回值,而sorted有返回值,必须有个变量接收其结果,列表本身是没有排序的。

除此之外还有反转reverse()、统计元素出现的次数count()、查找元素索引index()、清空clear()等方法。

--------------------------------------------------字  典--------------------------------------------------

给字典增加元素:

dict_1 = {'aa': 8888, 'bb': 22, 'cc': 33}
dict_1['dd'] = 44
print(dict_1)  #打印结果:{'aa': 8888, 'bb': 22, 'cc': 33, 'dd': 44}

上面这种方式添加元素,如果键已在字典中不存在,才会添加新的键值对,否则会修改键对应的值

给字典增加多个元素:

dict_1 = {'aa': 8888, 'bb': 22, 'cc': 33}
dict_1.update({'c': 1, 'd': 1})
print(dict_1)  #打印结果:{'aa': 8888, 'bb': 22, 'cc': 33, 'c': 1, 'd': 1}

字典的删除方法也有几种:

  • 通过键删除键值对: dict_1.pop('cc')
  • 删除字典末尾的一个键值对: dict_1.popitem()
  • 删除任意位置的键值对: del dict_1['bb']

字典的查询方法:

  • 通过键查找:dict_1['aa'] 或者 dict_1.get('aa')
  • 获取字典中所有的键:list(dict_1.keys())
  • 获取字典中所有的值:list(dict_1.values())
  • 获取字典中所有的键值对:list(dict_1.items())

清空字典: dict_1.clear()

例举一些数据类型转换操作:

字符串转列表: list('python')

列表转字符串:

''.join(['h', 'e', 'l', 'l', 'o'])

列表转字典: dict(zip(['a', 'b'], [1, 2]))

各种数据类型之间都可以互相转换,这里就不一一举例了。

番外知识点:这里介绍一个保证浮点数精度的模块decimal,如果想要在有浮点数参与的计算中确保结果的精度不会丢失,那么decimal就派上用场了,具体使用方法如下,

print(0.1+0.11)  打印结果:0.21000000000000002

以上可以看出结果精度明显有问题,这个问题出在0.1的二进制在计算机中无限循环,多余部分会被截取,最后会导致在某些运算条件下出现精度丢失的情况,使用decimal如何避免呢,如下:

from decimal import Decimal
print(Decimal(str(0.1)) + Decimal(str(0.11)))  #打印结果:0.21

在科学计算或者金钱计算时考虑使用这种数值计算方法,一般不建议使用,因为这种计算方式执行效率比浮点数计算要低。

Python基础(二):操作基本数据类型的更多相关文章

  1. redis基础二----操作set数据类型

    set集合是无序的,不能存在重复元素 bbb吃重复元素,是不能添加成功的 2 接下来分析zset,是有序的,你在添加的时候要指定元素的序列号 上面的 3 4 5 6 就是指定的元素的序列号 withs ...

  2. Python 基础 二

    Python 基础 二 今天对昨天学习的Python基础知识进行总结,学而不思则惘,思而不学则殆! 一.先对昨天学习的三大循环的使用情况进行总结: 1.while循环的本质就是让计算机在满足某一条件的 ...

  3. python基础(二)----数据类型

    Python基础第二章 二进制 字符编码 基本数据类型-数字 基本数据类型-字符串 基本数据类型-列表 基本数据类型-元组 可变.不可变数据类型和hash 基本数据类型-字典 基本数据类型-集合 二进 ...

  4. Python基础(二) —— 字符串、列表、字典等常用操作

    一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 二.三元运算 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为 ...

  5. 进击的Python【第二章】:Python基础(二)

    Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...

  6. python基础之五大标准数据类型

    学习一门语言,往往都是从Hello World开始. 但是笔者认为,在一个黑框框中输出一个"你好,世界"并没有什么了不起,要看透事物的本质,熟悉一门语言,就要了解其底层,就是我们常 ...

  7. python3 基础二——基本的数据类型三

    一.字符串str 1.创建字符串,为变量分配一个值 word='字符串' sentence="字符串\n" #python中单引号和双引号使用完全相同 paragraph=&quo ...

  8. Java基础(二) 基本类型数据类型、包装类及自动拆装箱

    我们知道基本数据类型包括byte, short, int, long, float, double, char, boolean,对应的包装类分别是Byte, Short, Integer, Long ...

  9. python基础二(基础数据类型)

    一. 引子 1. 什么是数据 x=10,10是我们要存储的数据 2. 为何数据要分不同的类型 数据是用来表示状态的,不同的状态就应该用不同的类型的数据去表示 3.数据类型 数字 字符串 列表 元组 字 ...

随机推荐

  1. saltStack 状态模块(状态间的关系)

    unless onlyif:状态间的条件判断,主要用于cmd状态模块 常用方法:    onlyif:检查的命令,仅当'onlyif'  选项指向的命令返回true时才执行name 定义的命 unle ...

  2. Java模板引擎FreeMarker介绍和使用

    http://blog.csdn.net/shimiso/article/details/8778793

  3. os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID" os.environ["CUDA_VISIBLE_DEVICES"] = "0"

    os.environ[“CUDA_DEVICE_ORDER”] = “PCI_BUS_ID” # 按照PCI_BUS_ID顺序从0开始排列GPU设备 os.environ[“CUDA_VISIBLE_ ...

  4. HTML静态网页--JavaScript-Window.document对象

    1.Window.document对象 一.找到元素: docunment.getElementById("id"):根据id找,最多找一个:    var a =docunmen ...

  5. npx cowsay 让动物说话~

      发现个好玩的东东, 忍不住想分享出来, 好可爱, 哈哈哈~~   node环境执行命令:    npm i cowsay -D npx cowsay hello! npx cowsay -f sh ...

  6. while循环计算1-100和,1-100内偶数/奇数/被整除的数的和

    文章地址 https://www.cnblogs.com/sandraryan/ <!DOCTYPE html> <html lang="en"> < ...

  7. Python--day46--用户管理设计方案介绍

    1,基于用户权限管理: 2,基于角色的权限管理: 开始一个项目如果要100天的,可能70天都在设计,比如设计数据库表结构,最后30天才是写代码.设计是最难的,写代码是最简单的. 还有一个重要的一点,写 ...

  8. java TreeSet的排序之自然排序

    TreeSet会调用元素的compareTo(Object o)方法来比较元素之间的大小关系,然后将集合里的元素按升序排列.此时需要排序元素的类必须实现Compareble接口,并覆写其int com ...

  9. angular 点击事件阻止冒泡及默认行为

    经常遇到场景:多层级元素绑定ng-click 事件,则底层元素的点击事件存在冒泡现象,怎么解决? 类似原生JS ,只是语法稍有不同,如下: 阻止冒泡 $event.stopPropagation() ...

  10. 如何用for..of.. 遍历一个普通的对象?

    如何用for..of.. 遍历一个普通的对象? 首先了解一下for..of..: 它是es6新增的一个遍历方法,但只限于迭代器(iterator), 所以普通的对象用for..of遍历 是会报错的.下 ...