python需要学数据结构吗_我也要学python-内置数据结构(一)

学完了C后,现在学python感觉好有效率的啊!PYTHON语言本身就内置了好多非常常用的数据结构,开发效率太高了,我在学python的时候一直在想,这个方法用C如何实现啊,然后自己再用C去实现,这样学感觉特有趣,也特有效率。都快忍不住要去悄悄PYTHON的源码啦!

关于python的学习笔记我是这样安排的:

内置数据结构(一 二)

模块与函数

字符串与正则表达式

文件的处理

面向对象编程

程序调试、数据库编程、WxPython库

WxPython库中的基本控件

菜单、窗口与对话框

WxPython库中的高级控件

WxPython学生信息管理系统的实现

一共2个星期学完,呵呵,最后写个PYTHON wx版的学生信息管理系统,因为之前用C写过啦!很有信心哦!

元组

元组是一组不可修改的元素的集合

元组代码:

2011072121001317.jpg

解释输出为:

2011072112142030.jpg

元组的只读性:

2011072113241975.jpg

元素的遍历:

2011072115541328.jpg

列表

列表也是一组元素的集合,它不同与于元组的是,列表中的元素是可以修改的。

代码:

#!/usr/bin/python#-*- coding: UTF-8 -*-#定义一个列表list=["apple","banana","grape","orange"]#直接输出列表printlist#得到第3个元素printlist[2]#append是加在列表的最后面list.append("watermelon")#在第二个元素后面插入list.insert(1,"grapefruit")#再次输出printlist#删除1个元素list.remove("grape")printlist#如果这里去掉注释会出错,因为字符串a并不存在列表里,删除一个不存在的元素时会提示错误!#list.remove("a")#弹出列表最后1个元素printlist.pop()printlist

list=["apple","banana","grape","orange"]#对列表进行分片操作,和对元素分片类试printlist[-2]printlist[1:3]printlist[-3:-1]#定义一个二元列表list=[["apple","banana"], ["grape","orange"], ["watermelon"], ["grapefruit"]]#遍历foriinrange(len(list)):print"list[%d] :"%i,"",forjinrange(len(list[i])):printlist[i][j],"",print

解释输出为:

ContractedBlock.gif

ExpandedBlockStart.gifView Code

----------python----------['apple','banana','grape','orange']

grape

['apple','grapefruit','banana','grape','orange','watermelon']

['apple','grapefruit','banana','orange','watermelon']

watermelon

['apple','grapefruit','banana','orange']

grape

['banana','grape']

['banana','grape']

list[0] : apple banana

list[1] : grape orange

list[2] : watermelon

list[3] : grapefruit

输出完成 (耗时 0 秒)-正常终止

FOR IN 循环放入列表里:

2011072116521616.jpg

这是列表不同于元组的特殊用法,呵呵!

列表的查找,排序与反转:

代码与注释:

#!/usr/bin/python#-*- coding: UTF-8 -*-list=["apple","grape","grape","orange"]

list.remove("grape")printlist

list=["apple","banana","grape","orange"]#通过元素取索引printlist.index("grape")printlist.index("orange")#判断某元素是否在列表里面print"orange"inlist

list1=["apple","banana"]

list2=["grape","orange"]#扩展列表list1.extend(list2)printlist1

list3=["watermelon"]#列表的加法操作list1=list1+list3printlist1#扩展列表list1+=["grapefruit"]printlist1#进行复制操作list1=["apple","banana"]*2printlist1#使用列表的sort方法排序list=["banana","apple","orange","grape"]#首字母升序进行排序list.sort()print"sorted list:", list#反转操作list.reverse()print"Reversed list:", list#使用函数sorted排序,返回一个新的列表list=["banana","apple","orange","grape","apple"]#set重复数据进行过虑并排序forliinsorted(set(list)):printli,"",

解释输出:

----------python----------['apple','grape','orange']23True

['apple','banana','grape','orange']

['apple','banana','grape','orange','watermelon']

['apple','banana','grape','orange','watermelon','grapefruit']

['apple','banana','apple','banana']

sorted list: ['apple','banana','grape','orange']

Reversed list: ['orange','grape','banana','apple']

apple banana grape orange

输出完成 (耗时 0 秒)-正常终止

堆栈队列的实现

数据结构中堆栈和队列是一些很常见的线性结构哦!我以前学过C的实现它,现在来看看PYTHON的实现呀!

代码:

2011072117491557.jpg

疯狂的写代码,疯狂的热爱吧!呵呵!

The Connells 传奇单曲7475

[hjp2=500,375,true]http://player.youku.com/player.php/sid/XNjIwMTQ0NjQ=/v.swf[/hjp2]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值