Python学习笔记——数据类型(数字、字符串、列表、元组和字典)

一、数字

1、int整型

正或负数,不带小数点。a=1

2、float浮点型

整数部分和小数部分组成。a=1.1

科学计数法表示:9.8e3,e3代表10的3次方。

3、complex复数型

实部和虚部组成。a=1+2j,或a=complex(1,2)

复数分离实数部分和虚数部分:

a.real();a.imag();

复数的共轭:

a.conjugate();

4、布尔类型

1True,0False;

二、字符串

字符串是由字母、数字、下划线组成的一串字符,可以使用单引号、双引号或三引号来表示字符串,三种符号可以嵌套使用。

1、字符串切片

使用索引操作符或者切片操作符来获取字符串的值。

起止位置,左闭右开;从0开始,-1结束,只给[:],则输出全部内容。

a='abcde'
>>> a[1]
'b'
>>> a[1:3]
'bc'
>>> 

a[1]:b,a[1:3]:bc。

2、字符串反转

a[::1]:输出全部内容,a[::2]:从0开始,每隔一位输出一个,a[::-1]:反向输出。

a='abcde'
>>> a[::1]
'abcde'
>>> a[::2]
'ace'
>>> a[::3]
'ad'
>>> a[::-1]
'edcba'

3、转义

Python使用(\)输出特殊字符。

\n换行符,\t制表符,\\转义失效。

4、原始字符串

加r或R可以输出原始字符串,常用于添加路径时。

>>> print(r'D://test')
D://test

5、格式化字符串

(1)格式说明符

Python支持格式化输出,最基本的用法是利用%将一个字符串插入到带有格式说明符的字符串中。

>>> name=ab
>>> print('Welcome %s to Beijing' % name)
Welcome ab to Beijing

格式说明符:

字符

描述

b(类型说明符)

二进制,以2为基数输出数字

o(类型说明符)

八进制,以8为基数输出数字

x(类型说明符)

十六进制,以16为基数输出数字,9以上的用小写字母,类型符为X时用大写字母

c(类型说明符)

字符,将整数转换成对应的Unicode字符输出

d(类型说明符)

十进制整数,以10为基数输出数字

f(类型说明符)

浮点数,以浮点数输出数字

e(类型说明符)

指数记法,以科学计数法输出数字

+m.nf(精度说明符)

输出带符号(正整数输出+号)的数,保留n位小数,整个输出占m列

<(对齐说明符)

左对齐,默认用空格填充右边

0>5d(最小宽度说明符)

右对齐,用0填充作变,宽度为5

^(对齐说明符)

居中对齐

{{}}(符号说明符)

输出一个{}

(2)format函数

Python的str.fromat()函数增强了字符串格式化的功能,利用{}和:代替%,再结合格式说明符,进行字符串格式化操作。

fromat可以接受不限个数的参数,位置可以不固定。

>>> "{} {}".format("Hello","Python")
'Hello Python'
>>> "{0} {1}".format("Hello","Python")
'Hello Python'
>>> "{0} {1} {0}".format("Hello","Python")
'Hello Python Hello'

代码示例:

>>> age,height=21,1.758
>>> print("Age:{0:<5d},Height:{1:5.2f}".format(age,height))
Age:21   ,Height: 1.76
>>> cCode=['AXP','BA','CAT','CSCO','CVX']
>>> cPrice=['78.51','184076','96.39','33.71','106.09']
>>> for i in range(5):
	print('{:<8d}{:8s}{:8s}'.format(i,cCode[i],cPrice[i]))
0       AXP     78.51   
1       BA      184076  
2       CAT     96.39   
3       CSCO    33.71   
4       CVX     106.09

6、字符串的应用

可以利用dir(str)查看字符串的方法。

>>> dir(str)
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']

(1)查找字符串

find函数可以查找字符的位置。

>>> song="Blowing in the wind"
>>> py.find("the")
11

(2)转换成小写

lower函数可以将字符串转换成小写。

>>> song="Blowing in the wind"
>>> py.lower()
'blowing in the wind'

(3)分离字符串

split函数可以将字符串分离成列表形式。

>>> song="Blowing in the wind"
>>> py.split()
['Blowing', 'in', 'the', 'wind']

(4)替换字符串

replace函数可以进行字符串替换。

>>> song="Blowing in the wind"
>>> py.replace("the","that")
'Blowing in that wind'

(5)将列表转换成字符串

join函数可以转换列表。

>>> aList=["Hello","Python"]
>>> ' '.join(aList)
'Hello Python'
>>> '-'.join(aList)
'Hello-Python'

(6)编码字符串

encode函数可以进行字符串编码。

>>> x="你好"
>>> y=x.encode('utf-8')
>>> y
b'\xe4\xbd\xa0\xe5\xa5\xbd'

(7)解码

decode函数可以进行解码。

>>> x="你好"
>>> y=x.encode('utf-8')
>>> y
b'\xe4\xbd\xa0\xe5\xa5\xbd'
>>> z=y.decode()
>>> z
'你好'

三、列表和元组

List列表,是可扩展的容器对象,可以包含不同类型的元素。

Tuple元组,用法和列表类似,不同之处在于元组的元素不能修改。

列表元组可以嵌套列表。

1、创建列表和元组

创建列表:用[ ];创建元组:( )

list1=['Hello','Python'];tup1=('Hello','Python')

2、取值

按下标索引来访问列表和元组中的值。

>>> list1=['Hello','Python']
>>> tup1=('Hello','Python')
>>> list1[1]
'Python'
>>> tup1[0]
'Hello'

3、排序

sorted()不改变列表位置,sort()改变列表元素位置。

>>> a=[1,2,3,4]
>>> print(a[0])
1
>>> print(sorted(a))
[1, 2, 3, 4]
>>> print(sorted(a,reverse=True))
[4, 3, 2, 1]

4、切片

结果前闭后开。

>>> a=[1,2,3,4]
>>> print(a[1:3])
[2, 3]

5、合并

将一个元素接入到列表中。

>>> a=[1,2,3,4]
>>> a.append(5)
>>> print(a)
[1, 2, 3, 4, 5]

将两个列表合并成一个列表。

>>> a=[1,2,3,4]
>>> b=['a','b','c']
>>> a.extend(b)
>>> print(a)
[1, 2, 3, 4, 5, 'a', 'b', 'c']

6、删除值

pop()删除最后一个值,pop(0)删除第一个值。

>>> a=[1,2,3,4]
>>> b=['a','b','c']
>>> a.extend(b)
>>> print(a)
[1, 2, 3, 4, 5, 'a', 'b', 'c']
>>> a.pop()
'c'
>>> a.pop(0)
1
>>> a.pop(1)
3
>>> print(a)
[2, 4, 5, 'a', 'b']

7、列表解析

动态创建列表。

表示1:

[expression for expr in sequence1

for expr in sequence2…]

>>> [x for x in range(10)]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> [y ** 2 for y in range(10)]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

表示2:

[expression for exprN in sequeenceN

if condition]

>>> [x ** 2 for x in range(10) if x**2<50]
[0, 1, 4, 9, 16, 25, 36, 49]
>>> [(x+1,y+1) for x in range(2) for y in range(2)]
[(1, 1), (1, 2), (2, 1), (2, 2)]

四、字典

一种映射类型,由键key和值value构成键值对;key不可变,不可重复,可以是数字、字符或者元组;value是无序的,之只和key有关。

1、字典和列表元组的区别

字典是按键值对存储,是无序的,不能按下标取值,只能通过key找value;

修改值时,已经存在的value会被修改,不存在的会被创建。

2、字典的创建方式

(1)直接创建

a={‘key1’:’value’,’key2’:’value’…}

(2)使用dict函数

>>> a=dict((['x',1],['y',2]))
>>> a
{'x': 1, 'y': 2}
>>> info=(['x',1],['y',2])
>>> b=dict(info)
>>> b
{'x': 1, 'y': 2}

(3)快速创建字典

使用内建方法fromkeys,将value设置成默认值。

>>> a={}.fromkeys(('x','y'),'test')
>>> a
{'x': 'test', 'y': 'test'}

(4)使用zip函数

zip函数,类似矩阵行列互换,可用于生成字典。

>>> names=['zhangsan','lisi','wangwu']
>>> salaries=[3000,2000,5000]
>>> dict(zip(names,salaries))
{'zhangsan': 3000, 'lisi': 2000, 'wangwu': 5000}

3、字典的基本操作

(1)键值查找

>>> info={'zhangsan':3000,'lisi':2000,'wangwu':5000}
>>> info['zhangsan']
3000

(2)更新值

>>> info={'zhangsan':3000,'lisi':2000,'wangwu':5000}
>>> info['zhangsan']=9999
>>> info
{'zhangsan': 9999, 'lisi': 2000, 'wangwu': 5000}

(3)添加元素

>>> info={'zhangsan':3000,'lisi':2000,'wangwu':5000}
>>> info['zhao']=4000
>>> info
{'zhangsan': 9999, 'lisi': 2000, 'wangwu': 5000, 'zhao': 4000}

(4)成员判断

>>> info={'zhangsan': 9999, 'lisi': 2000, 'wangwu': 5000, 'zhao': 4000}
>>> 'lisi' in info
True

(5)删除元素

>>> info={'zhangsan': 9999, 'lisi': 2000, 'wangwu': 5000, 'zhao': 4000}
>>> del info['zhao']
>>> info
{'zhangsan': 9999, 'lisi': 2000, 'wangwu': 5000}

4、字典的内建函数

dict():创建字典;

len():计算字典元素的个数;

>>> info={'zhangsan': 9999, 'lisi': 2000, 'wangwu': 5000}
>>> len(info)
3

hash():判断某个对象是否可hash;

>>> info={'zhangsan': 9999, 'lisi': 2000, 'wangwu': 5000}
>>> hash(info)
Traceback (most recent call last):
  File "<pyshell#50>", line 1, in <module>
    hash(info)
TypeError: unhashable type: 'dict'

5、字典的方法

(1)输出字典

>>> info={'zhangsan': 9999, 'lisi': 2000, 'wangwu': 5000}
>>> print(info.keys())#输出key
dict_keys(['zhangsan', 'lisi', 'wangwu'])
>>> print(info.values())#输出value
dict_values([9999, 2000, 5000])
>>> print(info.items())#输出key和value
dict_items([('zhangsan', 9999), ('lisi', 2000), ('wangwu', 5000)])

(2)更新字典

>>> a={'price':3000}
>>> info.update(a)
>>> info
{'zhangsan': 9999, 'lisi': 2000, 'wangwu': 5000, 'price': 3000}

(3)键值查找

>>> info={'zhangsan': 9999, 'lisi': 2000, 'wangwu': 5000}
>>> info.get('zhangsan')
9999

(4)删除字典

>>> info={'zhangsan': 9999, 'lisi': 2000, 'wangwu': 5000, 'price': 3000}
>>> info1=info
>>> info={}
>>> info1
{'zhangsan': 9999, 'lisi': 2000, 'wangwu': 5000, 'price': 3000}

(5)清空字典

>>> info={'zhangsan': 9999, 'lisi': 2000, 'wangwu': 5000}
>>> info.clear()
>>> info
{}

(6)删除字典的值

pop():删除键值对的同时获取value。

>>> info={'zhangsan': 9999, 'lisi': 2000, 'wangwu': 5000, 'price': 3000}
>>> a=info.pop('zhangsan')
>>> info
{'lisi': 2000, 'wangwu': 5000, 'price': 3000}
>>> a
9999

 

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值