标准数据类型(5)

  • String 字符串

  • Number 数字

  • List 列表

  • Tuple 元祖

  • Dictionary 字典

数字

Python支持四种不同的数字类型:

  • int (有符号整数)

  • long (长整型 也可以代表八进制和十六进制) python3 已移除 用int替代

  • float (浮点型)

  • complex (复数)

Python 还支持复数,复数由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型。

字符串

str = 'Hello World!'
 
print str           # 输出完整字符串
print[-1]			# 输出 '!'
print str[0]        # 输出字符串中的第一个字符 'H'
print str[2:5]      # 输出字符串中第三个至第六个之间的字符串 
print str[2:]       # 输出从第三个字符开始的字符串
print str * 2       # 输出字符串两次
print str + "TEST"  # 输出连接的字符串
print str[1:8:2]    # 输出从第二个到第七个之间(步长为2) 每隔1位输出 'el o'

一些字符串内建方法

  1. upper() 字符串全部变大写

  2. lower() 字符串全部变小写

  3. isupper()字符串至少有一个字母,并且所有字母都是大写

  4. islower()字符串至少有一个字母,并且所有字母都是小写

  5. isalpha()字符串只包含字母,并且非空

  6. isalnum()字符串只包含字母和数字,并且非空

  7. isdecimal()字符串只包含数字字符,并且非空

  8. isspace()字符串只包含空格、制表符和换行,并且非空

  9. startswith()字符串以该方法传入的字符串开始

  10. endswith()字符串以该方法传入的字符串结束

  11. join()拼接字符串,可指定分隔符

  12. split()通过某值切割字符串

  13. rjust()左填充,如果输出数据不足,补充空格

  14. ljust()右填充,如果输出数据不足,补充空格

  15. center()字符串居中,左右数据不足,补充空格

列表

>>> [1,2,3] + ['A','B']
[1, 2, 3, 'A', 'B']
>>> [1,2,3] * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]

>>> arr = [1,2,3,4,5,6,7]
>>> arr[1]
2
>>> arr[1:4]
[2, 3, 4]
>>> arr[1:]
[2, 3, 4, 5, 6, 7]
>>> arr[1:-1]
[2, 3, 4, 5, 6]
>>> arr[-2]
6

列表结合某些关键字和方法

  1. 删除某列表中的某元素,可以直接用del关键字。

  2. 也可以结合for循环

>>> supplies = ['pens', 'staplers', 'flame-throwers', 'binders']
>>> for i in range(len(supplies)):
print('Index ' + str(i) + ' in supplies is: ' + supplies[i])
  1. 利用 in 、not in 直接判断某元素是否在列表中

>>> 'howdy' in ['hello', 'hi', 'howdy', 'heyas']
True
>>> spam = ['hello', 'hi', 'howdy', 'heyas']
>>> 'cat' in spam
False
  1. index()方法判断某元素在列表中的第一次出现的下标,没有的话就报错。

>>> spam = ['Zophie', 'Pooka', 'Fat-tail', 'Pooka']
>>> spam.index('Pooka')
1
  1. 用 append()和 insert()方法在列表中添加值
    append()方法调用,将参数添加到列表末尾。insert()方法可以在列表任意下标处插入一个值。insert()方法的第一个参数是新值的下标,第二个参数是要插入的新值。

>>> arr = [1,2,3,4,5,6,7]
>>> arr.insert(7,10)
>>> arr
[1, 2, 3, 4, 5, 6, 7, 10]
>>> arr.append(12)
>>> arr
[1, 2, 3, 4, 5, 6, 7, 10, 12]
  1. 用remove()方法从列表中删除值

>>> arr = [1,2,3,4,1,1]
>>> arr
[1, 2, 3, 4, 1, 1]
>>> arr.remove(1)
>>> arr
[2, 3, 4, 1, 1]
  1. 用sort()方法将列表中的值排序

>>> arr = [2,3,5,1,3,10,7]
>>> arr.sort()
>>> arr
[1, 2, 3, 3, 5, 7, 10]

元祖

元组是用"()"表示,并且元组内的元素不能被修改,也不能对元组进行增加删除操作。

元组和列表的转化

>>> tuple([1,2,3])
(1, 2, 3)
>>> list((1,2,3))
[1,2,3]
>>> list('hellow')
['h', 'e', 'l', 'l', 'o', 'w']

引用与引用函数

>>> spam = [0, 1, 2, 3, 4, 5]
>>> cheese = spam
>>> cheese[1] = 'Hello!'
>>> spam
[0, 'Hello!', 2, 3, 4, 5]
>>> cheese
[0, 'Hello!', 2, 3, 4, 5]

拷贝函数copy()和deepcopy()。 拷贝和深拷贝。

>>> import copy
>>> spam = [0,1,2,3,4]
>>> cc = copy.copy(spam)
>>> spam
[0, 1, 2, 3, 4]
>>> cc
[0, 1, 2, 3, 4]
>>> spam[1] = 'hello!'
>>> spam
[0, 'hello!', 2, 3, 4]
>>> cc
[0, 1, 2, 3, 4]

字典

像列表一样,“字典”是许多值的集合。但不像列表的下标,字典的索引可以使用许多不同数据类型,不只是整数。字典的索引被称为“键”,键及其关联的值称为“键-值”对。所以可以说字典就是java中的Map。

cat = {'name': 'li', 'color': 'red', 'disposition': 'loud'}

与列表不同的是,字典没有顺序的概念,所以不能通过操作index获取某元素,不能使用切片,不能使用排序函数。

字典操作

使用函数keys()、values()和 items()。顾名思义,分别是获取字典的key值们,val值们,和键值对本身们

>>> cat = {'name': 'li', 'color': 'red', 'disposition': 'loud'}
>>> cat
{'name': 'li', 'color': 'red', 'disposition': 'loud'}
>>> cat.values()
dict_values(['li', 'red', 'loud'])
>>> cat.keys()
dict_keys(['name', 'color', 'disposition'])

>>> for v in cat.values():
...     print(v)
...
li
red
loud
>>> for k in cat.keys():
...     print(k)
...
name
color
disposition

# 输出的每一项是个元祖 可使用list函数转化
>>> for i in cat.items():
...     print(i)
...
('name', 'li')
('color', 'red')
('disposition', 'loud')

检查字典中是否存在键或值

>>> 'color' in cat
True
>>> 'name' not in cat
False
>>> 'size' in cat
False
>>> 'color' in cat.keys()
True
>>> 'red' in cat.values()
True

get() 和 setdefault()

get(key) 通过key找到对应的value, setdefault(key, defaultValue) 设置键的默认值 如果字典中有这个键的值则不作改动

>>> cat
{'name': 'li', 'color': 'red', 'disposition': 'loud'}
>>> cat.get('name')
'li'
>>> cat.get('size')
>>> cat.setdefault('name', 'haha')
'li'
>>> cat
{'name': 'li', 'color': 'red', 'disposition': 'loud'}
>>> cat.setdefault('alias', 'haha')
'haha'
>>> cat
{'name': 'li', 'color': 'red', 'disposition': 'loud', 'alias': 'haha'}