Python学习笔记(1)--数据结构

1。判断脚本是自己的主块还是在其他脚本中import以模块运行。

通过__name__的值去判断,如果为__main__就是运行脚本的主块, 例如:

if __name__ == '__main__':
    print 'This program is being run by itself'
else:
    print 'I am being imported from another module'


2.数据结构:list

类似于java中的List,通过[]来定义。

shoplist = ['apple', 'mango','carrot','banana']
list长度:len(shoplist)

list遍历:
for item in shoplist:
    print item,
list增加item:
shoplist.append('rice')

list排序:
shoplist.sort()

list删除:
del shoplist[0]

统计list中x元素出现个数:

list.count(x)

返回list中元素的index

list.index('x')

插入一个元素

list.insert(3, 'x')


3.数据结构:元组

类似java中的数组,通过()来定义。元组与list的区别是元组的元素不可以修改。

元组最通常的用法是用在打印语句中,例如:

age = 22
name = 'Swaroop'
print '%s is %d years old' % (name, age)
print 'Why is %s playing with that python?'% name


4.字典

类似java中的map,也就是一些键值对。

字典通过以下方式定义:

d = {key1 : value1, key2 : value2 }

键和值用:分隔,键值对之间用,分隔,所有键值对包含在{}中。

字典中的键值对是没有顺序的,如果需要一个特定的顺序,请在使用前对它们进行排序。

定义:ab = {    

             'Swaroop'   : 'swaroopch@byteofpython.info',
             'Larry'     : 'larry@wall.org',
             'Matsumoto' : 'matz@ruby-lang.org',
             'Spammer'   : 'spammer@hotmail.com'
     }
读取:print "Swaroop's address is %s" % ab['Swaroop']
增加:ab['Guido'] = 'guido@python.org'
删除:del ab['Spammer']
遍历:for name, address in ab.items():
    print 'Contact %s at %s' % (name, address)

5.序列:list,元组,字典都是序列。

序列的两个主要特点是索引操作符和切片操作符。索引操作符让我们可以从序列中抓取一个特定项目。切片操作符让我们能够获取序列的一个切片,即一部分序列。

索引同样可以是负数,在那样的情况下,位置是从序列尾开始计算的。因此,shoplist[-1]表示序列的最后一个元素而shoplist[-2]抓取序列的倒数第二个项目。

切片操作符是序列名后跟一个方括号,方括号中有一对可选的数字,并用冒号分割。注意这与你使用的索引操作符十分相似。记住数是可选的,而冒号是必须的。

切片操作符中的第一个数(冒号之前)表示切片开始的位置,第二个数(冒号之后)表示切片到哪里结束。如果不指定第一个数,Python就从序列首开始。如果没有指定第二个数,则Python会停止在序列尾。注意,返回的序列从开始位置开始 ,刚好在结束 位置之前结束。即开始位置是包含在序列切片中的,而结束位置被排斥在切片外。


5.对象的参考和拷贝

当你创建一个对象并给它赋一个变量的时候,这个变量仅仅 参考 那个对象,而不是表示这个对象本身!也就是说,变量名指向你计算机中存储那个对象的内存。这被称作名称到对象的绑定

mylist = shoplist #参考,两者指向同一对象

mylist = shoplist[:] # 拷贝shoplist到mylist


6。字符串

你在程序中使用的字符串都是str类的对象。如果要了解这些方法的完整列表,请参见help(str)


7.自然字符串

如果你想要指示某些不需要如转义符那样的特别处理的字符串,那么你需要指定一个自然字符串。自然字符串通过给字符串加上前缀rR来指定。例如r"Newlines are indicated by \n"


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值