当前位置:   article > 正文

【Python学习】python中的数据类型与运算方法_python脚本中对数据进行运算

python脚本中对数据进行运算

目录

1. 内建原子数据类型

1.1.整数类型和浮点数类型(int 和 float)

表 1-1 关系运算符和逻辑运算符

2. 内建集合数据类型 

2.1 列表类型(list)

表 1-2 可应用于任意 Python 序列的运算

表 1-3 Python 列表提供的方法

2.2 字符串类型(string)

表 1-4 Python 字符串提供的方法

2.3 元组类型(tuple)

2.4 集合类型(set) 

表 1-5 Python 集支持的运算 

表 1-6 Python 集提供的方法

2.5 字典类型(dict)

表 1-7 Python 字典支持的运算

1-8 Python 字典提供的方法


1. 内建原子数据类型

1.1.整数类型和浮点数类型(int 和 float)

标准的数学运算符,即+、-、*、/以及**(幂),可以和能够 改变运算优先级的括号一起使用。其他非常有用的运算符包括取余(取模)运算符%,以及整除运算符//。注意,当两个整数相除时,其结果是一个浮点数,而整除运算符截去小数部分,只返 回商的整数部分。

Python 通过 bool 类实现对表达真值非常有用的布尔数据类型。布尔对象可能的状态值是 True 或者 False,布尔运算符有 and、or 以及 not。

布尔对象也被用作相等(==)、大于(>)等比较运算符的计算结果。此外,结合使用关系 运算符与逻辑运算符可以表达复杂的逻辑问题。表 1-1 展示了关系运算符和逻辑运算符。

表 1-1 关系运算符和逻辑运算符

运 算 名运 算 符解 释
小于<小于运算符
大于>大于运算符
小于或等于<=小于或等于运算符
大于或等于>=大于或等于运算符
等于==相等运算符
不等于!=不等于运算符
逻辑与and两个运算数都为 True 时结果为 True
逻辑或or某一个运算数为 True 时结果为 True
逻辑非not对真值取反,False 变为 True,True 变为 False

2. 内建集合数据类型 

2.1 列表类型(list)

列表是零个或多个指向 Python 数据对象的引用的有序集合,通过在方括号内以逗号分隔的一 系列值来表达。空列表就是[]。列表是异构的,这意味着其指向的数据对象不需要都是同一个类, 并且这一集合可以被赋值给一个变量。

注意,当 Python 计算一个列表时,这个列表自己会被返回。然而,为了记住该列表以便后 续处理,其引用需要被赋给一个变量。

由于列表是有序的,因此它支持一系列可应用于任意 Python 序列的运算,如表 1-2 所示。

表 1-2 可应用于任意 Python 序列的运算

运 算 名运 算 符解 释
索引[]取序列中的某个元素
连接+将序列连接在一起
重复*重复 N 次连接
成员in询问序列中是否有某元素
长度len询问序列的元素个数
切片[:]取出序列的一部分

列表支持一些用于构建数据结构的方法,如表 1-3 所示。

表 1-3 Python 列表提供的方法

方 法 名用 法解 释
appendalist.append(item)在列表末尾添加一个新元素
insertalist.insert(i,item)在列表的第 i 个位置插入一个元素
popalist.pop()删除并返回列表中最后一个元素
popalist.pop(i)删除并返回列表中第 i 个位置的元素
sortalist.sort()将列表元素排序
reversealist.reverse()将列表元素倒序排列
deldel alist[i]删除列表中第 i 个位置的元素
indexalist.index(item)返回 item 第一次出现时的下标
countalist.count(item)返回 item 在列表中出现的次数
removealist.remove(item)从列表中移除第一次出现的 item
  1. >>> myList
  2. [1024, 3, True, 6.5]
  3. >>> myList.append(False)
  4. >>> myList
  5. [1024, 3, True, 6.5, False]
  6. >>> myList.insert(2,4.5)
  7. >>> myList
  8. [1024, 3, 4.5, True, 6.5, False]
  9. >>> myList.pop()
  10. False
  11. >>> myList
  12. [1024, 3, 4.5, True, 6.5]
  13. >>> myList.pop(1)
  14. 3
  15. >>> myList
  16. [1024, 4.5, True, 6.5]
  17. >>> myList.pop(2)
  18. True
  19. >>> myList
  20. [1024, 4.5, 6.5]
  21. >>> myList.sort()
  22. >>> myList
  23. [4.5, 6.5, 1024]
  24. >>> myList.reverse()
  25. >>> myList
  26. [1024, 6.5, 4.5]
  27. >>> myList.count(6.5)
  28. 1
  29. >>> myList.index(4.5)
  30. 2
  31. >>> myList.remove(6.5)
  32. >>> myList
  33. [1024, 4.5]
  34. >>> del myList[0]
  35. >>> myList
  36. [4.5]

2.2 字符串类型(string)

字符串是零个或多个字母、数字和其他符号的有序集合。这些字母、数字和其他符号被称为 字符。常量字符串值通过引号(单引号或者双引号均可)与标识符进行区分。

由于字符串是序列,因此之前提到的所有序列运算符都能用于字符串。此外,字符串还有一 些特有的方法,表 1-4 列举了其中一些。

表 1-4 Python 字符串提供的方法

方 法 名用 法解 释
centerastring.center(w)返回一个字符串,原字符串居中,使用空格填充新字符串,使其长度为 w
countastring.count(item)返回 item 出现的次数
ljustastring.ljust(w)返回一个字符串,将原字符串靠左放置并填充空格至长度 w
rjustastring.rjust(w)返回一个字符串,将原字符串靠右放置并填充空格至长度 w
lowerastring.lower()返回均为小写字母的字符串
upperastring.upper()返回均为大写字母的字符串
findastring.find(item)返回 item 第一次出现时的下标
splitastring.split(schar)在 schar 位置将字符串分割成子串

列表和字符串的主要区别在于,列表能够被修改,字符串则不能。列表的这一特性被称为可修改性。列表具有可修改性,字符串则不具有。

2.3 元组类型(tuple)

由于都是异构数据序列,因此元组与列表非常相似。它们的区别在于,元组和字符串一样是 不可修改的。元组通常写成由括号包含并且以逗号分隔的一系列值。与序列一样,元组允许之前 描述的任一操作。

  1. >>> myTuple = (2,True,4.96)
  2. >>> myTuple
  3. (2, True, 4.96)
  4. >>> len(myTuple)
  5. 3
  6. >>> myTuple[0]
  7. 2
  8. >>> myTuple * 3
  9. (2, True, 4.96, 2, True, 4.96, 2, True, 4.96)
  10. >>> myTuple[0:2]
  11. (2, True)

然而,如果尝试改变元组中的一个元素,就会遇到错误。请注意,错误消息指明了问题的出 处及原因。

  1. >>> myTuple[1]=False
  2. Traceback (most recent call last):
  3. File "<pyshell#137>", line 1, in -toplevel-
  4. myTuple[1]=False
  5. TypeError: object doesn't support item assignment

2.4 集合类型(set) 

 集(set)是由零个或多个不可修改的 Python 数据对象组成的无序集合。集不允许重复元素, 并且写成由花括号包含、以逗号分隔的一系列值。空集由 set()来表示。集是异构的,并且可以通过下面的方法赋给变量。

  1. >>> {3, 6, "cat", 4.5, False}
  2. {False, 4.5, 3, 6, 'cat'}
  3. >>> mySet = {3, 6, "cat", 4.5, False}
  4. >>> mySet
  5. {False, 4.5, 3, 6, 'cat'}

尽管集是无序的,但它还是支持之前提到的一些运算,如表 1-5 所示。

表 1-5 Python 集支持的运算 

运 算 名运 算 符解 释
成员in询问集中是否有某元素
长度len获取集的元素个数
|aset | otherset返回一个包含 aset 与 otherset 所有元素的新集
&aset & otherset返回一个包含 aset 与 otherset 共有元素的新集
-aset - otherset返回一个集,其中包含只出现在 aset 中的元素
<=aset <= otherset询问 aset 中的所有元素是否都在 otherset 中

集支持一系列方法,如表 1-6 所示。在数学中运用过集合概念的人应该对它们非常熟悉。注 意,union、intersection、issubset 和 difference 都有可用的运算符。

表 1-6 Python 集提供的方法

方 法 名用 法解 释
unionaset.union(otherset)返回一个包含 aset 和 otherset 所有元素的集
intersectionaset.intersection(otherset)返回一个仅包含两个集共有元素的集
differenceaset.difference(otherset)返回一个集,其中仅包含只出现在 aset 中的元素
issubsetaset.issubset(otherset)询问 aset 是否为 otherset 的子集
addaset.add(item)向 aset 添加一个元素
removeaset.remove(item)将 item 从 aset 中移除
popaset.pop()随机移除 aset 中的一个元素
clearaset.clear()清除 aset 中的所有元素
  1. >>> mySet
  2. {False, 4.5, 3, 6, 'cat'}
  3. >>> yourSet = {99,3,100}
  4. >>> mySet.union(yourSet)
  5. {False, 4.5, 3, 100, 6, 'cat', 99}
  6. >>> mySet | yourSet
  7. {False, 4.5, 3, 100, 6, 'cat', 99}
  8. >>> mySet.intersection(yourSet)
  9. {3}
  10. >>> mySet & yourSet
  11. {3}
  12. >>> mySet.difference(yourSet)
  13. {False, 4.5, 6, 'cat'}
  14. >>> mySet - yourSet
  15. {False, 4.5, 6, 'cat'}
  16. >>> {3,100}.issubset(yourSet)
  17. True
  18. >>> {3,100}<=yourSet
  19. True
  20. >>> mySet.add("house")
  21. >>> mySet
  22. {False, 4.5, 3, 6, 'house', 'cat'}
  23. >>> mySet.remove(4.5)
  24. >>> mySet
  25. {False, 3, 6, 'house', 'cat'}
  26. >>> mySet.pop()
  27. False
  28. >>> mySet
  29. {3, 6, 'house', 'cat'}
  30. >>> mySet.clear()
  31. >>> mySet
  32. set()

2.5 字典类型(dict)

字典是无序结构,由相关的元素对构成,其中每对元素 都由一个键和一个值组成。这种键–值对通常写成键:值的形式。字典由花括号包含的一系列以逗 号分隔的键–值对表达,如下所示。

  1. >>> capitals = {'Iowa':'DesMoines','Wisconsin':'Madison'}
  2. >>> capitals
  3. {'Wisconsin':'Madison', 'Iowa':'DesMoines'}

可以通过键访问其对应的值,也可以向字典添加新的键–值对。访问字典的语法与访问序列 的语法十分相似,只不过是使用键来访问,而不是下标。添加新值也类似。

  1. >>> capitals['Iowa']
  2. 'DesMoines'
  3. >>> capitals['Utah']='SaltLakeCity'
  4. >>> capitals
  5. {'Utah':'SaltLakeCity', 'Wisconsin':'Madison', 'Iowa':'DesMoines'}
  6. >>> capitals['California']='Sacramento'
  7. >>> capitals
  8. {'Utah':'SaltLakeCity', 'Wisconsin':'Madison', 'Iowa':'DesMoines',
  9. 'California':'Sacramento'}
  10. >>> len(capitals)
  11. 4

需要谨记,字典并不是根据键来进行有序维护的。第一个添加的键–值对('Utah':'SaltLakeCity')被放在了字典的第一位,第二个添加的键–值对('California':'Sacramento') 则被放在了最后。键的位置是由散列来决定的。以上示例也说明,len 函数对字典的功能与对其他集合的功能相同。 

字典既有运算符,又有方法。表 1-7 和表 1-8 分别展示了它们。keys、values 和 items 方 法均会返回包含相应值的对象。可以使用 list 函数将字典转换成列表。在表 1-8 中可以看到, get 方法有两种版本。如果键没有出现在字典中,get 会返回 None。然而,第二个可选参数可 以返回特定值。

表 1-7 Python 字典支持的运算

运 算 名运 算 符解 释
[]myDict[k]返回与 k 相关联的值,如果没有则报错
inkey in adict如果 key 在字典中,返回 True,否则返回 False
deldel adict[key]从字典中删除 key 的键–值对

1-8 Python 字典提供的方法

方 法 名用 法解 释
keysadict.keys()返回包含字典中所有键的 dict_keys 对象
valuesadict.values()返回包含字典中所有值的 dict_values 对象
itemsadict.items()返回包含字典中所有键–值对的 dict_items 对象
getadict.get(k)返回 k 对应的值,如果没有则返回 None
getadict.get(k, alt)返回 k 对应的值,如果没有则返回 alt
  1. >>> phoneext={'david':1410, 'brad':1137}
  2. >>> phoneext
  3. {'brad':1137, 'david':1410}
  4. >>> phoneext.keys()
  5. dict_keys(['brad', 'david'])
  6. >>> list(phoneext.keys())
  7. ['brad', 'david']
  8. >>> phoneext.values()
  9. dict_values([1137, 1410])
  10. >>> list(phoneext.values())
  11. [1137, 1410]
  12. >>> phoneext.items()
  13. dict_items([('brad', 1137), ('david', 1410)])
  14. >>> list(phoneext.items())
  15. [('brad', 1137), ('david', 1410)]
  16. >>> phoneext.get("kent")
  17. >>> phoneext.get("kent", "NO ENTRY")
  18. 'NO ENTRY'

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/569744
推荐阅读
相关标签
  

闽ICP备14008679号