Python里list的那些method学习笔记

__author__ = 'hualong_zhang'
# -*- coding:utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

init_list_1 = [1, 4, 9, 'cat', 'dog', 'dog', 'bird', ['fish']]
init_list_2 = [1, 4, 9]
print 'the origin list 1 and 2:\n', init_list_1, '\n', init_list_2

init_list_1.append(16)  # 尾加一个元素
print  init_list_1

print init_list_1.count('dog')  # 返回某元素出现个数

init_list_1.extend(init_list_2)  # 尾加一个list
print init_list_1

print init_list_1.index('cat')  # 返回某元素位置

init_list_1.insert(3, 'bird')  # 插入
print init_list_1

for i in range(4):
    init_list_1.pop()  # 从后弹出
print init_list_1

init_list_1.remove('dog')  # 移除
init_list_1.remove('dog')
print init_list_1

init_list_1.reverse()  # 可能是归类
print init_list_1

init_list_1.sort()  # 元素排序
print init_list_1

#下面这些__xxx__形式的,是所谓Python __Underscore__ Methods
print init_list_1.__add__(init_list_2)  # 连接起来,但不赋给左值
print init_list_1.__class__  # 类所有的方法,获取类型

print init_list_1.__contains__(init_list_2)  # 是否包含
print init_list_1

print init_list_1.__eq__(init_list_2)  # 相当于==
print init_list_1.__ge__(init_list_2)  # 相当于>=
print init_list_1.__ne__(init_list_2)  # 相当于!=
print init_list_1.__lt__(init_list_2)  # 相当于<
print init_list_1.__le__(init_list_2)  # 相当于<=
print init_list_1.__gt__(init_list_2)  # 相当于>
print init_list_1.__mul__(2)  # 相当于*,就是连续几个init_list_1
print init_list_1.__rmul__(2)  # 与mul效果一样,他说x.__rmul__(other) <==> other * x ,Only called if other.__mul__ is not defined or other.__mul__(x) returns NotImplemented.

init_list_1.__iadd__(init_list_2)  # x.__iadd__(other) <==> x += other,说明以i开头这些会作用于自身
print init_list_1

init_list_1.__imul__(2)  # 自身变为原来自身的重复
print init_list_1

print init_list_1.__iter__()  # 我猜是返回一个自身迭代器
print init_list_1.__sizeof__()  # 返回尺寸
print init_list_1.__len__()  # 返回元素个数
print init_list_1.__reversed__()  # Should return an iterator suitable for iterating over all the items contained in the instance in reverse order.
print init_list_1.__getitem__(2)  # 获取第几个元素
print init_list_1.__getslice__(2, 5)  # 获取i到j区间元素

init_list_1.__delitem__(2)  # 删除元素
print init_list_1

init_list_1.__delslice__(0, 2)  # 删除切片
print init_list_1

init_list_1.__setitem__(2, 'dog')  # 设置第几号元素
print init_list_1

init_list_1.__setslice__(2, 6, 'human')  # 把i到j替换为某个序列,human在里头会变成...h,u,m,a,n...
print init_list_1

print init_list_1.__str__()  # 这是object的方法,变为str
print init_list_1.__repr__()  # 他是这样说的(然后我这里直接输出了init_list_1本身) x.__repr__() <==> repr(x) <==> `x`
# Should return a string representation of the class or instance with as much information as possible, preferably something that can be passed to eval to recreate the object. Return value must be a string.
# If not present, returns something like '<class __main__.Class at 0x2e6d50>' for classes and '<__main__.Class instance at 0xbfb70>' for instances.

init_list_1.__new__(type(init_list_2))  # 大概是在参数的位置放一个list的子类型,然后类型就转过去了
print init_list_1

print init_list_1.__hash__  # 输出时none,不是哈希函数吗,暂时不理解
 
 
 
<span style="font-size:24px;color:#000099;"><strong>运行出来是这样</strong></span>
<p>D:\Python27\python.exe C:/Users/hualong_zhang/PycharmProjects/method_in_list_and_tuple/method_in_list_and_tuple.py
the origin list 1 and 2:
[1, 4, 9, 'cat', 'dog', 'dog', 'bird', ['fish']]
[1, 4, 9]
[1, 4, 9, 'cat', 'dog', 'dog', 'bird', ['fish'], 16]
2
[1, 4, 9, 'cat', 'dog', 'dog', 'bird', ['fish'], 16, 1, 4, 9]
3
[1, 4, 9, 'bird', 'cat', 'dog', 'dog', 'bird', ['fish'], 16, 1, 4, 9]
[1, 4, 9, 'bird', 'cat', 'dog', 'dog', 'bird', ['fish']]
[1, 4, 9, 'bird', 'cat', 'bird', ['fish']]
[['fish'], 'bird', 'cat', 'bird', 9, 4, 1]
[1, 4, 9, ['fish'], 'bird', 'bird', 'cat']
[1, 4, 9, ['fish'], 'bird', 'bird', 'cat', 1, 4, 9]
<type 'list'>
False
[1, 4, 9, ['fish'], 'bird', 'bird', 'cat']
False
True
True
False
False
True
[1, 4, 9, ['fish'], 'bird', 'bird', 'cat', 1, 4, 9, ['fish'], 'bird', 'bird', 'cat']
[1, 4, 9, ['fish'], 'bird', 'bird', 'cat', 1, 4, 9, ['fish'], 'bird', 'bird', 'cat']
[1, 4, 9, ['fish'], 'bird', 'bird', 'cat', 1, 4, 9]
[1, 4, 9, ['fish'], 'bird', 'bird', 'cat', 1, 4, 9, 1, 4, 9, ['fish'], 'bird', 'bird', 'cat', 1, 4, 9]
<listiterator object at 0x019B79B0>
132
20
<listreverseiterator object at 0x019B79B0>
9
[9, ['fish'], 'bird']
[1, 4, ['fish'], 'bird', 'bird', 'cat', 1, 4, 9, 1, 4, 9, ['fish'], 'bird', 'bird', 'cat', 1, 4, 9]
[['fish'], 'bird', 'bird', 'cat', 1, 4, 9, 1, 4, 9, ['fish'], 'bird', 'bird', 'cat', 1, 4, 9]
[['fish'], 'bird', 'dog', 'cat', 1, 4, 9, 1, 4, 9, ['fish'], 'bird', 'bird', 'cat', 1, 4, 9]
[['fish'], 'bird', 'h', 'u', 'm', 'a', 'n', 9, 1, 4, 9, ['fish'], 'bird', 'bird', 'cat', 1, 4, 9]
[['fish'], 'bird', 'h', 'u', 'm', 'a', 'n', 9, 1, 4, 9, ['fish'], 'bird', 'bird', 'cat', 1, 4, 9]
[['fish'], 'bird', 'h', 'u', 'm', 'a', 'n', 9, 1, 4, 9, ['fish'], 'bird', 'bird', 'cat', 1, 4, 9]
[['fish'], 'bird', 'h', 'u', 'm', 'a', 'n', 9, 1, 4, 9, ['fish'], 'bird', 'bird', 'cat', 1, 4, 9]
None</p><p>Process finished with exit code 0
</p>

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-12 20:18:37

Python里list的那些method学习笔记的相关文章

python之输入和输出(学习笔记一)

python之输入和输出(学习笔记一) 输出 用 print 加上字符串,就可以向屏幕上输出指定的文字.如下命令: print 'hello,world!' print 语句也可以跟上多个字符串,用逗号","隔开,就可以连成一串输出: print 'my name is wtf,','I am learning Python.' 在python中可以直接当做计算器来使用,举例如下: (1)基本的加减乘除余 (2)整数除法与精确除法区别: 注:因为整数除法只取结果的整数部分,要做精确的除

笨方法学python(第三版)学习笔记1

1. 将浮点数四舍五入:round(1.7333) 2. 格式化字符:%s %d %r %r和%s有什么不同? %r用来做debug比较好,因为它会显示变量的原始数据(raw data),而 其它的符号则是用来向用户显示输出的.记住:%r用作debug,%s用作显示. 使用了%r后转义序列都不灵了.因为%r打印出的是你写到代码里的原始字符串,其中会包含原始的转义字符. line1 = raw_input("line 1: ") line2 = raw_input("line

Hadoop里的数据挖掘应用-Mahout——学习笔记&lt;三&gt;

之前有幸在MOOC学院抽中小象学院hadoop体验课. 这是小象学院hadoop2.X的笔记 由于平时对数据挖掘做的比较多,所以优先看Mahout方向视频. Mahout有很好的扩展性与容错性(基于HDFS&MapReduce开发),实现了大部分常用的数据挖掘算法(聚类.分类.推荐算法)不过数据挖掘调参和业务理解是关键,个人觉得真正想学习的话,还是看正规机器学习的课程比较好. 这里省略了大部分比较技术那一块的笔记... 虽然mahout在速度上有天然优势.但R/Python其实也在接入hadoo

廖雪峰老师的python教程中的几个学习笔记的备份

首先是学习@property的笔记 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/5/14 22:18 # @Author : 15407_000 # @Site : # @File : 使用@property.py # @Software: PyCharm class student(object): score=10 def getscore(self): return self.score def setscore

python ocr(光学文字识别) 学习笔记 (一)

参考资料:500 lines or less ocr 我们的OCR系统主要由5部分组成,分别写在5个文件之中.它们分别是: 客户端(ocr.js) 服务器(server.py) 简单的用户界面(ocr.html) 基于反向传播训练的ANN(ocr.py) ANN的实现脚本(neuralnetworkdesign.py) 虽然界面服务器用户界面不是我们的重点,但由于笔者水平有限,必须要从这些地方撸起.首先看最简单的用户界面,它将是我们使用的入口 <html> <head> <s

Python实战之正则表达式RE/re学习笔记及简单练习

# .,\w,\s,\d,,^,$# *,+,?,{n},{n,},{n,m} # re模块用于对python的正则表达式的操作.## 字符:## . 匹配除换行符以外的任意字符# \w 匹配字母或数字或下划线或汉字# \s 匹配任意的空白符# \d 匹配数字# \b 匹配单词的开始或结束# ^ 匹配字符串的开始# $ 匹配字符串的结束## 次数:## * 重复零次或更多次# + 重复一次或更多次# ? 重复零次或一次# {n} 重复n次# {n,} 重复n次或更多次# {n,m} 重复n到m次

《Python核心编程》 面向对象编程学习笔记

1. 1. 引言 1. 类与实例 可以定义一个本身没有任何属性的类,而仅把它用做数据的名字空间,这样的类仅作为容器对象来共享名字空间. 示例如下: class MyData(object): pass 下面创建它的实例,它只使用类作为名称空间容器. >>> mathObj = MyData() >>> mathObj.x = 4 >>> mathObj.y = 5 >>> mathObj.x + mathObj.y 9 >>

关于Drupalizeme里面的Jquery视频的学习笔记

1.对于INTRODUCTION TO JQUERY SERIES这个站点的学习 1)第五集的内容,说的是怎么选择到你想要的地方 选择attribute这个在src后面加了$,表示以什么结尾 Css3 selectors Api.jquery.com PS:(Drupal 里面禁止让$来代替JQuery,因为这样会有冲突,所以在drupal里面,可以使用这样的方式来调用) 2)第六集的内容,说的是选择到你想要修改的地方后,要怎么使用effert等进行你想要的效果的修改 Duration表示可以控

python流程判断之多层循环学习笔记

passwd = 'test'                         创建一个变量 logout_flag = False                   如果登录等于假,继续输入密码 for i in range(4):                        循环4次 user_input = raw_input("please input your passwd:").strip()    赋值用户输入passwd次数 if len(user_input) =