1.元组的表达
(1,2,3,4) ('olive',123) (python,)
创建元组:
a=tuple((1,2,3,)) b=(python,)
2.元组功能属性
class tuple(object): tuple() -> empty tuple tuple(iterable) -> tuple initialized from iterable's items if the argument is a tuple, the return value is the same object. def count(self, value): # real signature unknown; restored from __doc__ t.count(value) -> integer -- return number of occurrences of value return 0 def index(self, value, start=none, stop=none): # real signature unknown; restored from __doc__ t.index(value, [start, [stop]]) -> integer -- return first index of value. raises valueerror if the value is not present. return 0 def __add__(self, *args, **kwargs): # real signature unknown return self+value. pass def __contains__(self, *args, **kwargs): # real signature unknown return key in self. pass def __eq__(self, *args, **kwargs): # real signature unknown return self==value. pass def __getattribute__(self, *args, **kwargs): # real signature unknown return getattr(self, name). pass def __getitem__(self, *args, **kwargs): # real signature unknown return self[key]. pass def __getnewargs__(self, *args, **kwargs): # real signature unknown pass def __ge__(self, *args, **kwargs): # real signature unknown return self>=value. pass def __gt__(self, *args, **kwargs): # real signature unknown return self>value. pass def __hash__(self, *args, **kwargs): # real signature unknown return hash(self). pass def __init__(self, seq=()): # known special case of tuple.__init__ tuple() -> empty tuple tuple(iterable) -> tuple initialized from iterable's items if the argument is a tuple, the return value is the same object. # (copied from class doc) pass def __iter__(self, *args, **kwargs): # real signature unknown implement iter(self). pass def __len__(self, *args, **kwargs): # real signature unknown return len(self). pass def __le__(self, *args, **kwargs): # real signature unknown return self<=value. """ pass def __lt__(self, *args, **kwargs): # real signature unknown """ return self<value. """ pass def __mul__(self, *args, **kwargs): # real signature unknown """ return self*value.n """ pass @staticmethod # known case of __new__ def __new__(*args, **kwargs): # real signature unknown """ create and return a new object. see help(type) for accurate signature. """ pass def __ne__(self, *args, **kwargs): # real signature unknown """ return self!=value. """ pass def __repr__(self, *args, **kwargs): # real signature unknown """ return repr(self). """ pass def __rmul__(self, *args, **kwargs): # real signature unknown """ return self*value. """ pass tuple
3.元组的部分功能属性介绍
元组和列表有很大相似性,但是元组的元素是不可修改的,所以很多列表有的功能元组都没有。
1)count(self, value):
统计元组中包含value元素的数量,返回一个int值。
a=(1,2,3,4,1,2,3,1,2,) b=a.count(1) print(a,type(a)) print(b,type(b)) #运行结果 (1, 2, 3, 4, 1, 2, 3, 1, 2) <class 'tuple'> 3 <class 'int'> demo
2)index(self, value, start=none, stop=none):
索引,查找元组中value元素第一个出现的位置,start与stop参数是查找起始与结束位置,默认为none,返回int数值,如果查找中不包含这个元素,则返回valueerror: 'f' is not in tuple报错。
a=(1,2,3,4,1,2,3,1,2,) b=a.index(3) print(a,len(a)) print(b,type(b)) #运行结果 (1, 2, 3, 4, 1, 2, 3, 1, 2) 9 2 <class 'int'> demo
3)add(self, *args, **kwargs):
给元组添加一个新的元素,添加的新元素需要以元组的形式添加,生成一个新的元组。
a=(1,2,3,4) b=a.__add__((5,1)) #括号理给出的必须是元组 print(a,type(a)) print(b,type(b)) #运行结果 (1, 2, 3, 4) <class 'tuple'> (1, 2, 3, 4, 5, 1) <class 'tuple'> demo
4)contains(self, *args, **kwargs):
判断元组中是否包含某个元素,返回布尔值。
a=(1,2,3,4,1,2,3,1,2,) b=a.__contains__(2) c=a.__contains__(5) print(a) print(b) print(c) #运行结果 (1, 2, 3, 4, 1, 2, 3, 1, 2) true false demo
二、字典
1.字典的表达
{name:olive,age:18}
创建字典:
a={name:olive,age:18} b=dict({name:lusi,age:18})
2.字典功能属性
class dict(object): dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object's (key, value) pairs dict(iterable) -> new dictionary initialized as if via: d = {} for k, v in iterable: d[k] = v dict(**kwargs) -> new dictionary initialized with the name=value pairs in the keyword argument list. for example: dict(one=1, two=2) def clear(self): # real signature unknown; restored from __doc__ d.clear() -> none. remove all items from d. pass def copy(self): # real signature unknown; restored from __doc__ d.copy() -> a shallow copy of d pass @staticmethod # known case def fromkeys(*args, **kwargs): # real signature unknown returns a new dict with keys from iterable and values equal to value. pass def get(self, k, d=none): # real signature unknown; restored from __doc__ d.get(k[,d]) -> d[k] if k in d, else d. d defaults to none. pass def items(self): # real signature unknown; restored from __doc__ d.items() -> a set-like object providing a view on d's items pass def keys(self): # real signature unknown; restored from __doc__ d.keys() -> a set-like object providing a view on d's keys pass def pop(self, k, d=none): # real signature unknown; restored from __doc__ d.pop(k[,d]) -> v, remove specified key and return the corresponding value. if key is not found, d is returned if given, otherwise keyerror is raised pass def popitem(self): # real signature unknown; restored from __doc__ d.popitem() -> (k, v), remove and return some (key, value) pair as a 2-tuple; but raise keyerror if d is empty. pass def setdefault(self, k, d=none): # real signature unknown; restored from __doc__ d.setdefault(k[,d]) -> d.get(k,d), also set d[k]=d if k not in d pass def update(self, e=none, **f): # known special case of dict.update d.update([e, ]**f) -> none. update d from dict/iterable e and f. if e is present and has a .keys() method, then does: for k in e: d[k] = e[k] if e is present and lacks a .keys() method, then does: for k, v in e: d[k] = v in either case, this is followed by: for k in f: d[k] = f[k] pass def values(self): # real signature unknown; restored from __doc__ d.values() -> an object providing a view on d's values pass def __contains__(self, *args, **kwargs): # real signature unknown true if d has a key k, else false. pass def __delitem__(self, *args, **kwargs): # real signature unknown delete self[key]. pass def __eq__(self, *args, **kwargs): # real signature unknown return self==value. pass def __getattribute__(self, *args, **kwargs): # real signature unknown return getattr(self, name). pass def __getitem__(self, y): # real signature unknown; restored from __doc__ x.__getitem__(y) <==> x[y] pass def __ge__(self, *args, **kwargs): # real signature unknown return self>=value. pass def __gt__(self, *args, **kwargs): # real signature unknown return self>value. pass def __init__(self, seq=none, **kwargs): # known special case of dict.__init__ dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object's (key, value) pairs dict(iterable) -> new dictionary initialized as if via: d = {} for k, v in iterable: d[k] = v dict(**kwargs) -> new dictionary initialized with the name=value pairs in the keyword argument list. for example: dict(one=1, two=2) # (copied from class doc) pass def __iter__(self, *args, **kwargs): # real signature unknown implement iter(self). pass def __len__(self, *args, **kwargs): # real signature unknown return len(self). pass def __le__(self, *args, **kwargs): # real signature unknown return self<=value. """ pass def __lt__(self, *args, **kwargs): # real signature unknown """ return self<value. """ pass @staticmethod # known case of __new__ def __new__(*args, **kwargs): # real signature unknown """ create and return a new object. see help(type) for accurate signature. """ pass def __ne__(self, *args, **kwargs): # real signature unknown """ return self!=value. """ pass def __repr__(self, *args, **kwargs): # real signature unknown """ return repr(self). """ pass def __setitem__(self, *args, **kwargs): # real signature unknown """ set self[key] to value. """ pass def __sizeof__(self): # real signature unknown; restored from __doc__ """ d.__sizeof__() -> size of d in memory, in bytes pass __hash__ = none dict
3.字典的部分功能属性介绍
1)clear(self):
清除字典中的所有元素。
a={name:olive,age:18} b=a.clear() print(a) print(b) #运行结果 {} none
2)copy(self):
复制一份元组,相当于一次浅拷贝。
a={name: olive,age:18} b=a.copy() print(a,id(a),id(name)) print(b,id(b),id(name)) #赋值 c={name: lusi,age:18} d=c print(c,id(name)) print(d,id(name)) #浅拷贝 e={name: shy,age:18} f=copy.copy(e) print(e,id(e),id(name)) print(f,id(f),id(name)) #运行结果 {'name': 'olive', 'age': 18} 2915224 2019840 {'name': 'olive', 'age': 18} 2915304 2019840 {'name': 'lusi', 'age': 18} 2019840 {'name': 'lusi', 'age': 18} 2019840 {'name': 'shy', 'age': 18} 5584616 2019840 {'name': 'shy', 'age': 18} 5586056 2019840
3)fromkeys(*args, **kwargs):【fromkeys(seq,value=none)】
创建一个新的字典,以seq为字典的keys(键),value为字典的值,默认为none。适合创建一个一样值的字典。
a={hunan: changsha,guangdong:guangzhou,jiangsu:nanjing,'hubei':wuhan} b=dict.fromkeys(a,good) c=dict.fromkeys([a,b,c],abc) d=dict.fromkeys(abcc) print(a) print(b) print(c) print(d) #运行结果 {'guangdong': 'guangzhou', 'hubei': 'wuhan', 'hunan': 'changsha', 'jiangsu': 'nanjing'} {'hubei': 'good', 'guangdong': 'good', 'hunan': 'good', 'jiangsu': 'good'} {'c': 'abc', 'b': 'abc', 'a': 'abc'} {'c': none, 'b': none, 'a': none} #seq给出的字符串c是重复的,但是创建的键只取一个。
4)get(self, k, d=none):
获取字典中键为k的值,如果字典中不包含k,则给出d值,d默认为none。
a={a:1,b:2,c:3,d:4} b=a.get(a) c=a.get(e) d=a.get(e,5) print(a) print(b) print(c) print(d) #运行结果 {'b': 2, 'a': 1, 'c': 3, 'd': 4} 1 none 5
5)items(self):
遍历字典的一个方法,把字典中每对key和value组成一个元组,并把这些元组放在一个类似列表的dict_items中返回。
a={a:1,b:2,c:3,d:4} b=a.items() print(a) print(b,type(b)) #运行结果 {'d': 4, 'c': 3, 'a': 1, 'b': 2} dict_items([('d', 4), ('c', 3), ('a', 1), ('b', 2)]) <class 'dict_items'>
6)keys(self):
遍历字典键keys的一个方法,返回一个类似列表的dict_keys,与items方法用法相同。
a={a:1,b:2,c:3,d:4} b=a.keys() print(a) print(b,type(b)) #运行结果 {'b': 2, 'a': 1, 'c': 3, 'd': 4} dict_keys(['b', 'a', 'c', 'd']) <class 'dict_keys'>
7)values(self):
遍历字典值value的一个方法,返回一个类似列表的dict_values,与items方法用法相同。
a={a:1,b:2,c:3,d:4} b=a.values() print(a) print(b,type(b)) #运行结果 {'c': 3, 'd': 4, 'b': 2, 'a': 1} dict_values([3, 4, 2, 1]) <class 'dict_values'>
8)pop(self, k, d=none):
和get方法用法相似,只不过,get是获取字典中键为k的值,而pop是取出字典中键为k的值。当字典中不含键k时,d不是默认值时,取到的值就为d值,如果d为默认值none时,则keyerror报错。
a={a:1,b:2,c:3,d:4} b=a.pop(a) c=a.pop(e,five) print(a) print(b,type(b)) print(c,type(c)) #运行结果 {'c': 3, 'd': 4, 'b': 2} 1 <class 'int'> five <class 'str'>
9)popitem(self):
从字典中随机取出一组键值,返回一个新的元组。如果字典中无键值可取,则keyerror报错。
a={a:1,b:2,c:3,d:4} b=a.popitem() print(a) print(b,type(b)) #运行结果 {'d': 4, 'b': 2, 'a': 1} ('c', 3) <class 'tuple'>
10)setdefault(self, k, d=none):
从字典中获取键为k的值,当字典中包含键k值时,功能和get基本一致,当字典中不包含键k值时,在原字典上添加上键为k的初始键值对,并返回值d。
a={a:1,b:2,c:3,d:4} b=a.setdefault(a) c=a.setdefault(e) d=a.setdefault(f,6) print(a) print(b) print(c) print(d) #运行结果 {'f': 6, 'c': 3, 'a': 1, 'e': none, 'b': 2, 'd': 4} 1 none 6
11)update(self, e=none, **f):
给字典新增元素,没有返回值。用法:dict.update(dict2)。
a={a:1,b:2,c:3,d:4} b=a.update({e:5}) print(a) print(b) #运行结果 {'c': 3, 'b': 2, 'd': 4, 'a': 1, 'e': 5} none
12)contains(self, *args, **kwargs):
判断列表中是否包含某个键值对,返回布尔值。用法:dict.contains(keys)。
a={a:1,b:2,c:3,d:4} b=a.__contains__(a) print(a) print(b) #运行结果 {'a': 1, 'd': 4, 'c': 3, 'b': 2} true
13)delitem(self, *args, **kwargs):
删除字典中的某个键值对,没有返回值。用法:dict.delitem(keys)。
a={a:1,b:2,c:3,d:4} b=a.__delitem__(a) print(a) print(b) #运行结果 {'c': 3, 'b': 2, 'd': 4} none
以上就是python元组与字典的详细介绍的详细内容。
