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()