python学习之(1)数据结构篇
来源:互联网 发布:2012修改telnet端口 编辑:程序博客网 时间:2024/06/17 05:52
以前简单接触过python,现在回顾一下python的一些基础知识,开始新的python使用之旅。
一.首先是体验一下交互模式
我使用的是python3.6.0自带的IDLE,新建文件welcome_python.py,输入:
>>> print('welcome to python')
按F5输出结果:
welcome to python
二.数据类型篇
Python3中有六个标准的数据类型:
- Numbers(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Dictionaries(字典)
- Sets(集合)
2.1数字类型
Python 3支持int、float、bool、complex。内置的type()函数可以用来查询变量所指的对象类型。>>> a=1>>> b=2.2>>> c=1+2j>>> print(a,b,c)1 2.2 (1+2j)>>> type(a)<class 'int'>>>> type(b)<class 'float'>>>> type(c)<class 'complex'>
2.2字符串类型
Python 具有单一的字符串类型str,字符串用单引号(‘ ’)或双引号(“ ”)括起来,同时使用反斜杠(\)转义特殊字符。如果不想让反斜杠发生转义,可以在字符串前面添加一个r,表示原始字符串;另外,反斜杠可以作为续行符,表示下一行是上一行的延续。还可以使用"""..."""或者'''...'''跨越多行。字符串可以使用 + 运算符串连接在一起,或者用 * 运算符重复。>>> str1='python'>>> str2="python3.6">>> str3=str1+str2>>>print(str1)python>>> print(str2)python3.6>>> print(str1+" "+str2)python python3.6Python中的字符串有两种索引方式,第一种是从左往右,从0开始依次增加;第二种是从右往左,从-1开始依次减少。
>>> print(str1[-1])n>>> print(str1[0])p与C字符串不同的是,Python字符串不能被改变。向一个索引位置赋值,比如str1[0] = 'm'会导致错误。
>>> str1[0]='m'Traceback (most recent call last): File "<pyshell#56>", line 1, in <module> str1[0]='m'TypeError: 'str' object does not support item assignment
2.3列表类型
List(列表) 是 Python 中使用最频繁的数据类型。列表是写在方括号之间、用逗号分隔开的元素列表。列表中元素的类型可以不相同,和字符串一样,列表同样可以被索引和切片,列表被切片后返回一个包含所需元素的新列表。>>> list1=[1,2,3.0,str1]>>> print(list1)[1, 2, 3.0, 'python']>>> list2=[str2,'Jason_fu']>>> print(list2)['python3.6', 'Jason_fu']>>> print(list1+list2)[1, 2, 3.0, 'python', 'python3.6', 'Jason_fu']与字符串不同的是,列表中的元素是可以改变的:
>>> list1[2]='python3.6.0'>>> print(list1)[1, 2, 'python3.6.0', 'python']
List内置了有很多方法:append()、pop()等等,
>>> list1.append('new')>>> print(list1)[1, 2, 'python3.6.0', 'python', 'new']>>> list1.pop(0)1>>> print(list1)[2, 'python3.6.0', 'python', 'new']
2.4元组类型
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组是写在小括号之间、用逗号隔开的元素列表。元组中的元素类型也可以不相同。元组与字符串类似,可以被索引且下标索引从0开始,也可以进行截取/切片。可以把字符串看作一种特殊的元组。虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。>>> tuple1=(1,2,3.0,'python')>>> print(tuple1)(1, 2, 3.0, 'python')>>> type(tuple1)<class 'tuple'>>>> tuple2=(list1,tuple1)>>> print(tuple2)([2, 'python3.6.0', 'python', 'new'], (1, 2, 3.0, 'python'))
2.5字典类型
字典(dictionary)是Python中非常有用的内置数据类型。字典是一种映射类型(mapping type),它是一个无序的键 : 值对集合。关键字必须使用不可变类型,也就是说list和包含可变类型的tuple不能做关键字。在同一个字典中,关键字还必须互不相同。>>> dic2={'FCQING':'no1','JJ':'no2'}>>> print(dic2){'FCQING': 'no1', 'JJ': 'no2'}>>> dic2['FCQING']'no1'>>> dic2['kobe']='no3'>>> print(dic2){'FCQING': 'no1', 'JJ': 'no2', 'kobe': 'no3'}构造函数 dict() 可以直接从键值对中构建字典,如下:
>>> dic3=dict([('fcqing','NO1'),('jj','NO2'),('KOBE','NO3')])>>> print(dic3){'fcqing': 'NO1', 'jj': 'NO2', 'KOBE': 'NO3'}字典类型也有一些内置的函数,例如clear()、keys()、values()等。
>>> print(dic3.keys())dict_keys(['fcqing', 'jj', 'KOBE'])>>> print(dic3.values())dict_values(['NO1', 'NO2', 'NO3'])>>> dic3.clear()>>> print(dic3){}
2.6集合类型
集合(set)是一个无序不重复元素的集,与数学中的集合概念是对应的,也可进行相应的集合运算。基本功能是进行成员关系测试和消除重复元素。可以使用大括号或者set()函数创建set集合,注意:创建一个空集合必须用 set() 而不是 { },因为{ }是用来创建一个空字典。
>>> set1={'fcqing','jj','kobe','Jason'}>>> print(set1){'jj', 'kobe', 'Jason', 'fcqing'}>>> 'jj'in set1True>>> 'JJ'in set1False>>> set2=set('welcome to python')>>> set2{'n', 'p', 'm', 'y', 't', 'l', 'h', 'o', 'c', 'e', 'w', ' '}>>> set3=set('welcome to python3.6.0')>>> set3{'n', 'p', '6', '.', 'm', 'y', 't', '3', 'l', 'h', '0', 'o', 'c', 'e', 'w', ' '}>>> set3-set2{'6', '.', '3', '0'}>>> set2&set3 #取交集{'n', 'p', 'm', 'y', 't', 'w', 'l', 'h', 'o', 'e', 'c', ' '}>>> set2|set3 #取并集{'n', 'p', 'm', 'y', 't', '3', '0', 'e', 'w', '6', '.', 'l', 'h', 'o', ' ', 'c'}>>> set3^set2#去不同时存在的元素{'3', '0', '6', '.'}
0 0
- python学习之(1)数据结构篇
- Python学习日志(五)之数据结构
- python学习总结之数据结构
- python语法学习之数据结构
- Python学习日志之Python数据结构初识
- Python学习笔记(1)--数据结构
- Python新手学习基础之数据结构-序列1
- Python新手学习基础之数据结构-列表1
- 数据结构学习之单链表的创建(python)
- python基础语法学习记录之数据结构和算法(1)
- Python学习笔记-数据结构之列表
- Python学习笔记-数据结构之元组
- Python学习笔记-数据结构之集合
- Python学习笔记-数据结构之字典
- Python学习笔记-数据结构之循环技巧
- Python基础学习之基本数据结构List
- Python基础学习之基本数据结构Dict
- Python学习(一):入门篇:python中的一些数据结构
- Clone Graph
- 生命倒计时-倒数9121日
- 在Linux系统中修改主机名
- Linux基础学习
- 总结下2016年
- python学习之(1)数据结构篇
- 一个0-1规划的建模例子
- 请教,Android端提交图片文件后,服务器端采用thinkphp该如何接收?
- G友年度调查|Do you like me?
- Linux中实现一个简单的进度条
- iOS微信支付集成全解
- Lable 约束和自适应
- HDU 1102 Constructing Roads 最小生成树
- [BZOJ3998][TJOI2015]弦论(后缀自动机)
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
巨鹿
巨鹿县
张巨鹿
巨鹿网
巨鹿路
巨鹿信息港
巨鹿刻章
巨鹿网站
巨鹿信息网
巨鹿招聘
巨鹿吧
巨鹿之战简介
巨鹿路886号主人
上海巨鹿路886号
巨鹿堂化妆品怎么样
巨鹿邮政编码是多少
巨鹿信息港招聘信息
巨鼎酒店
泰安巨鼎
巨鼎
泰安巨鼎酒店
切尔诺贝利巨鼠
巨鼠
星空巨鼠
星空巨鼠 人间落水
julong
002619
巨龟
少年巨龟
亚洲巨龟
亚巨龟
截教之玄武巨龟
1965年黄河巨龟事件
东方巨龟苑
巨龟苑
洪荒之玄武巨龟
1965年黄河巨龟
超级深海巨龟
亚巨龟图片
江海渔童之巨龟奇缘观后感
江海渔童之巨龟奇缘