python笔记5:元组

Python的元组与列表类似,不同之处在于元组的元素不能修改。

元组中只包含一个元素时,需要在元素后面添加逗号:

tup1 = (50,);

 

修改元组

元组中的元素值是不允许修改的,但我们可以对元组进行连接组合。

删除元组

元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组。

无关闭分隔符

任意无符号的对象,以逗号隔开,默认为元组,如下实例:

#!/usr/bin/python

print 'abc', -4.24e93, 18+6.6j, 'xyz';
x, y = 1, 2;
print "Value of x , y : ", x,y;

 

修改字典

向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对。

#!/usr/bin/python
 
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
 
dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School"; # Add new entry
 
 
print "dict['Age']: ", dict['Age'];
print "dict['School']: ", dict['School'];

 update() 函数把字典dict2的键/值对更新到dict里。

dict.update(dict2)
#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7}
dict2 = {'Sex': 'female' }

dict.update(dict2)
print "Value : %s" %  dict

输出结果:

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7}
dict2 = {'Sex': 'female' }

dict.update(dict2)
print "Value : %s" %  dict

 

删除字典元素

能删单一的元素也能清空字典,清空只需一项操作。

字典键的特性

字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。

两个重要的点需要记住:

1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住。

2)键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行。

#!/usr/bin/python
 
dict = {['Name']: 'Zara', 'Age': 7};
 
print "dict['Name']: ", dict['Name'];

输出结果:

Traceback (most recent call last):
  File "test.py", line 3, in <module>
    dict = {['Name']: 'Zara', 'Age': 7};
TypeError: list objects are unhashable

内置函数:

str() 函数将值转化为适于人阅读的形式,以可打印的字符串表示。

str(dict)

 type() 函数返回输入的变量类型,如果变量是字典就返回字典类型。

type(dict)

 

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7};
print "Variable Type : %s" %  type (dict)

输出结果:

Variable Type : <type 'dict'>

 内置方法:

clear() 函数用于删除字典内所有元素。

dict.clear()

 

copy() 函数返回一个字典的浅复制。

dict.copy()
#!/usr/bin/python

dict1 = {'Name': 'Zara', 'Age': 7};

dict2 = dict1.copy()
print "New Dictinary : %s" %  str(dict2)

输出结果:

New Dictinary : {'Age': 7, 'Name': 'Zara'}

 

fromkeys() 函数用于创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值。

  • seq -- 字典键值列表。
  • value -- 可选参数, 设置键序列(seq)的值。
#!/usr/bin/python

seq = ('name', 'age', 'sex')

dict = dict.fromkeys(seq)
print "New Dictionary : %s" %  str(dict)

dict = dict.fromkeys(seq, 10)
print "New Dictionary : %s" %  str(dict)

输出结果:

New Dictionary : {'age': None, 'name': None, 'sex': None}
New Dictionary : {'age': 10, 'name': 10, 'sex': 10}

 

get() 函数返回指定键的值,如果值不在字典中返回默认值。

dict.get(key, default=None)
#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 27}

print "Value : %s" %  dict.get('Age')
print "Value : %s" %  dict.get('Sex')
print "Value : %s" % dict.get('Sex', "Never")

输出结果:

Value : 27
Value : None
Value : Never

 

setdefault() 函数和get()方法类似, 如果键不已经存在于字典中,将会添加键并将值设为默认值。

dict.setdefault(key, default=None)
#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7}

print "Value : %s" %  dict.setdefault('Age', None)
print "Value : %s" %  dict.setdefault('Sex', None)

输出结果:

Value : 7
Value : None

 

has_key() 函数用于判断键是否存在于字典中,如果键在字典dict里返回true,否则返回false。

dict.has_key(key)

 

items() 函数以列表返回可遍历的(键, 值) 元组数组。

dict.items()
#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7}

print "Value : %s" %  dict.items()

输出结果:

Value : [('Age', 7), ('Name', 'Zara')]

 

keys() 函数以列表返回一个字典所有的键。

dict.keys()

 

values() 函数以列表返回字典中的所有值。

dict.values()

 

posted @ 2016-08-28 12:02  hy叶子  阅读(142)  评论(0编辑  收藏  举报