免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2340 | 回复: 0
打印 上一主题 下一主题

python起步3 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-26 11:04 |只看该作者 |倒序浏览

9:20 2008-9-26
2、字典
键值对的组合
键值对在字典中以这样的方式标记:d = {key1 : value1, key2 : value2 }。注意它们的键/值对用冒号分割而各个对用逗号分割,所有这些都包括在花括号中。
记住字典中的键/值对是没有顺序的。如果你想要一个特定的顺序,那么你应该在使用前自己对它们排序。
(1)、定义与访问
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']
使用索引操作符来寻址一个键并为它赋值
(2)、添加与删除
ab['Guido'] =
[email='guido@python.org']'guido@python.org'[/email]
del ab['Spammer']
(3)、使用字典的items方法,来使用字典中的每个键/值对,这会返回一个元组的列表,其中每个元组都包含一对项目——键与对应的值。
print '\nThere are %d contacts in the address-book\n' % len(ab)
for name,address in ab.items():
    print 'Contact %s at %s' % (name,address)
(4)、使用in操作符来检验一个键/值对是否存在
if 'Guido' in ab:
    print "\nGuido's address is %s" %ab['Guido']
注:或者使用dict类的has_key方法
(5)、使用help(dict)来查看dict类的完整方法列表。
(6)、关键字参数与字典。如果换一个角度看待你在函数中使用的关键字参数的话,你已经使用了字典了!
3、序列
列表、元组和字符串都是序列。
列的两个主要特点是索引操作符和切片操作符。
索引操作符让我们可以从序列中抓取一个特定项目。
切片操作符让我们能够获取序列的一个切片,即一部分序列。
shoplist = ['apple', 'mango', 'carrot', 'banana']
(1)、使用索引取得序列中的单个项目:下标操作
shoplist = ['apple', 'mango', 'carrot', 'banana']
索引同样可以是负数,位置是从序列尾开始计算的
print 'Item -1 is', shoplist[-1]
(2)、切片操作符是序列名后跟一个方括号,方括号中有一对可选的数字,并用冒号分割。
print 'Item 1 to 3 is', shoplist[1:3]
输出位置1与位置2的值
注意,返回的序列从开始位置 开始 ,刚好在 结束 位置之前结束。即开始位置是包含在序列切片中的,而结束位置被排斥在切片外。
shoplist[:]返回整个序列的拷贝。
负数用在从序列尾开始计算的位置。例如,shoplist[:-1]会返回除了最后一个项目外包含所有项目的序列切片
4、参考
当创建一个对象并给它赋一个变量的时候,这个变量仅仅 参考 那个对象,而不是表示这个对象本身!也就是说,变量名指向你计算机中存储那个对象的内存。这被称作名称到对象的绑定。
记住列表的赋值语句不创建拷贝。你得使用切片操作符来建立序列的拷贝。
shoplist = ['apple', 'mango', 'carrot', 'banana']
mylist = shoplist # mylist与shoplist指向同一对象
del shoplist[0] #mylist与shoplist中的[0]都被删除
mylist = shoplist[:] # make a copy by doing a full slice
del mylist[0] # 只删除mylist[0],不影响shoplist
5、更多字符串的内容
字符串也是对象,同样具有方法。都是str类的对象
name = 'Swaroop' # This is a string object
if name.startswith('Swa'):
    print 'Yes, the string starts with "Swa"'
startwith方法是用来测试字符串是否以给定字符串开始。
if 'a' in name:
    print 'Yes, it contains the string "a"'
in操作符用来检验一个给定字符串是否为另一个字符串的一部分。
if name.find('war') != -1:
    print 'Yes, it contains the string "war"'
find方法用来找出给定字符串在另一个字符串中的位置,或者返回-1以表示找不到子字符串。
delimiter = '_*_'
mylist = ['Brazil', 'Russia', 'India', 'China']
print delimiter.join(mylist)
str类也有以一个作为分隔符的字符串join序列的项目的整洁的方法,它返回一个生成的大字符串。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/28123/showart_1226005.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP