Python 比较序列和其它类型的使用与方法?

Python013

Python 比较序列和其它类型的使用与方法?,第1张

5.8. 比较序列和其它类型

序列对象可以与相同类型的其它对象比较。比较操作按 字典序 进行:首先比较前两个元素,如果不同,就决定了比较的结果;如果相同,就比较后两个元素,依次类推,直到所有序列都完成比较。如果两个元素本身就是同样类 型的序列,就递归字典序比较。如果两个序列的所有子项都相等,就认为序列相等。如果一个序列是另一个序列的初始子序列,较短的一个序列就小于另一个。字符 串的字典序按照单字符的 ASCII 顺序。

需要注意的是如果通过 <或者 >比较的对象只要具有合适的比较方法就是合法的。比如,混合数值类型是通过它们的数值进行比较的,所以 0 是等于 0.0 。否则解释器将会触发一个 TypeError 异常,而不是提供一个随意的结果。

=,比较的是两个实例对象是不是完全相同,它们是不是同一个对象,占用的内存地址是否相同。比较两个条件:1.内容相同。2.内存中地址相同

== 是比较两个对象的内容是否相等,即两个对象的“值“”是否相等,不管两者在内存中的引用地址是否一样。

作用

=,是比较两个引用是否指向同一个对象(引用的比较)

“ == ”是比较两个对象是否相等

可以

namedtuple是继承自tuple的子类。namedtuple创建一个和tuple类似的对象,而且对象拥有可访问的属性。

下面看个列子

from collections import namedtuple

# 定义一个namedtuple类型User,并包含name,sex和age属性。

User = namedtuple('User', ['name', 'sex', 'age'])

# 创建一个User对象

user = User(name='kongxx', sex='male', age=21)

# 也可以通过一个list来创建一个User对象,这里注意需要使用"_make"方法

user = User._make(['kongxx', 'male', 21])

print user

# User(name='user1', sex='male', age=21)

# 获取用户的属性

print user.name

print user.sex

print user.age

# 修改对象属性,注意要使用"_replace"方法

user = user._replace(age=22)

print user

# User(name='user1', sex='male', age=21)

# 将User对象转换成字典,注意要使用"_asdict"

print user._asdict()

# OrderedDict([('name', 'kongxx'), ('sex', 'male'), ('age', 22)])