一、创建列表:

li = []

li = list()

name_list = ['alex', 'seven', 'eric']

name_list = list(['alex', 'seven', 'eric'])

二、基本操作:

索引

name_list = ["eirc","morra","tommy"]

print(name_list[0]) #eirc

print (name_list[2]) #'tommy'

print (name_list[-1]) #'tommy'

print (name_list[-2]) #'morra'

print (name_list[1:]) #['morra', 'tommy']

print(name_list.index('eirc')) #输出eric的索引

print(type(li[2])) #索引取出来后是元素的类型

索引的特殊用法

>>> li=[1,2,3,4,5,6,7,8]

>>> li[::-1] #倒叙

[8, 7, 6, 5, 4, 3, 2, 1]

>>> li[::-2] #元素之间间隔2

[8, 6, 4, 2]

>>> li[::-3]

[8, 5, 2]

切片

name_list = ["eirc","morra","tommy"]

print(name_list[0:2]) #['eirc', 'morra']

print(name_list[2:len(name_list)]) #['tommy']

print(type(li[1:2])) #切片取出之后是列表类型

追加与扩展

追加:

name_list = ["eirc","morra","tommy"]

name_list.append('456') #直接操作对象,无返回值

print(name_list)

OUTPUT:

['eirc', 'morra', 'tommy', '456']

扩展:

name_list = ["eirc","morra","tommy"]

name_list2 = ["bom"]

name_list.extend(name_list2) #直接操作对象,无返回值

print(name_list)

OUTPUT:

['eirc', 'morra', 'tommy', 'bom']

插入

name_list = ["eirc","morra","tommy"]

name_list.insert(1,'hello') #直接操作对象,无返回值

print(name_list)

OUTPUT:

['eirc', 'hello', 'morra', 'tommy']

删除

pop():删除尾部元素

name_list = ["eirc","morra","tommy"]

temp = name_list.pop() #删除尾部元素,并把所删除的元素存到一个新值里

print(name_list)

print(temp)

OUTPUT:

['eirc', 'morra']

tommy

remove():删除指定元素,只能有一个参数(匹配从左到右的第一个),不能加index

name_list = ["eirc","morra","tommy"]

name_list.remove("morra")

print(name_list)

OUTPUT:

['eirc', 'tommy']

del:删除指定元素,可以使用索引和切片

name_list = ["eirc","morra","tommy","bom"]

del name_list[0]

print(name_list)

del name_list[1:2]

print(name_list)

OUTPUT:

['morra', 'tommy', 'bom']

['morra', 'bom']

列表脚本操作符

列表对+和的操作符与字符串相似。+号用于组合列表,号用于重复列表,例如:

print len([1, 2, 3]); #3

print [1, 2, 3] + [4, 5, 6]; #[1, 2, 3, 4, 5, 6]

print ['Hi!'] * 4; #['Hi!', 'Hi!', 'Hi!', 'Hi!']

print 3 in [1, 2, 3] #True

for x in [1, 2, 3]: print x, #1 2 3

拷贝

list的拷贝有5种方式

#1

listb = lista[:]

#2

listb = list(lista)

#3

listb = [i for i in lista]

#4

import copy

listb = copy.copy(lista) #浅拷贝

#5

import copy

listb = copy.deepcopy(lista) #深拷贝

补充

注意:在业务代码里,一般会把列表写成 a = [1,2,3,]的形式,在使用特定框架时会用到。

三、可迭代性

一般来说只要可以用for循环,我们就认为它是可迭代的

class list(object):

"""

list() -> new empty list

list(iterable) -> new list initialized from iterable's items

"""

判断一个数据类型是否可迭代:

from collections import Iterable #使用collections模块的Iterable类型来判断

li = [1,2,3,4]

ret = isinstance(li,Iterable)

print(ret) #True

字符串转列表

s = "你好morra"

li = list(s)

print(li)

OUTPUT:

['你', '好', 'm', 'o', 'r', 'r', 'a']

元组转列表

tu = ("你好","alex")

li = list(tu)

print(li)

OUTPUT:

['你好', 'alex']

字典转列表

dic = {'k1':'hello','k2':'morra'}

l3 = list(dic) #字典在循环的时候默认只循环key

print(l3)

l4 = list(dic.values())

print(l4)

l5 = list(dic.items())

print(l5)

OUTPUT:

['k2', 'k1']

['morra', 'hello']

[('k2', 'morra'), ('k1', 'hello')]

四、源码

class list(object):

"""

list() -> new empty list

list(iterable) -> new list initialized from iterable's items

"""

def append(self, p_object):

"""追加,直接操作对象,无返回值"""

""" L.append(object) -> None -- append object to end """

pass

def clear(self):

""" L.clear() -> None -- remove all items from L """

pass

def copy(self):

""" L.copy() -> list -- a shallow copy of L """

return []

def count(self, value):

""" L.count(value) -> integer -- return number of occurrences of value """

return 0

def extend(self, iterable):

""" L.extend(iterable) -> None -- extend list by appending elements from the iterable """

pass

def index(self, value, start=None, stop=None):

"""

L.index(value, [start, [stop]]) -> integer -- return first index of value.

Raises ValueError if the value is not present.

"""

return 0

def insert(self, index, p_object):

""" L.insert(index, object) -- insert object before index """

pass

def pop(self, index=None):

"""

L.pop([index]) -> item -- remove and return item at index (default last).

Raises IndexError if list is empty or index is out of range.

"""

pass

def remove(self, value):

"""

L.remove(value) -> None -- remove first occurrence of value.

Raises ValueError if the value is not present.

"""

pass

def reverse(self):

"""列表倒序"""

""" L.reverse() -- reverse *IN PLACE* """

pass

def sort(self, key=None, reverse=False):

""""快速排序,问:包含字母数字中文的列表该怎么排序?"""

""" L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE* """

pass

def __add__(self, *args, **kwargs):

""" Return self+value. """

pass

def __contains__(self, *args, **kwargs):

""" Return key in self. """

pass

def __delitem__(self, *args, **kwargs):

""" Delete self[key]. """

pass

def __eq__(self, *args, **kwargs):

""" Return self==value. """

pass

def __getattribute__(self, *args, **kwargs):

""" Return getattr(self, name). """

pass

def __getitem__(self, y):

""" x.__getitem__(y) <==> x[y] """

pass

def __ge__(self, *args, **kwargs):

""" Return self>=value. """

pass

def __gt__(self, *args, **kwargs):

""" Return self>value. """

pass

def __iadd__(self, *args, **kwargs):

""" Implement self+=value. """

pass

def __imul__(self, *args, **kwargs):

""" Implement self*=value. """

pass

def __init__(self, seq=()): # known special case of list.__init__

"""

list() -> new empty list

list(iterable) -> new list initialized from iterable's items

# (copied from class doc)

"""

pass

def __iter__(self, *args, **kwargs):

""" Implement iter(self). """

pass

def __len__(self, *args, **kwargs):

""" Return len(self). """

pass

def __le__(self, *args, **kwargs):

""" Return self<=value. """

pass

def __lt__(self, *args, **kwargs):

""" Return self

pass

def __mul__(self, *args, **kwargs):

""" Return self*value.n """

pass

@staticmethod # known case of __new__

def __new__(*args, **kwargs):

""" Create and return a new object. See help(type) for accurate signature. """

pass

def __ne__(self, *args, **kwargs):

""" Return self!=value. """

pass

def __repr__(self, *args, **kwargs):

""" Return repr(self). """

pass

def __reversed__(self):

""" L.__reversed__() -- return a reverse iterator over the list """

pass

def __rmul__(self, *args, **kwargs):

""" Return self*value. """

pass

def __setitem__(self, *args, **kwargs):

""" Set self[key] to value. """

pass

def __sizeof__(self):

""" L.__sizeof__() -- size of L in memory, in bytes """

pass

__hash__ = None

python支持的数据类型list_Python基本数据类型之list相关推荐

  1. python支持的数据类型list_Python的数据类型3-list,列表

    list 类,列表 li = [1,12,9,"age",["李政蓬",["19",10],"于鑫淼"],"a ...

  2. python面试题之Python支持什么数据类型?

    所属网站分类: 面试经典 > python 作者:外星人入侵 链接:http://www.pythonheidong.com/blog/article/67/ 来源:python黑洞网,专注py ...

  3. 学python能做什么类型的工作-Python支持哪些数据类型

    Python基本数据类型一般分为:数字.字符串.列表.元组.字典.集合这六种基本数据类型. 数字数字类型是不可更改的对象.对变量改变数字值就是生成/创建新的对象.Python支持多种数字类型: 整型( ...

  4. python支持的四种数据类型_Python支持的数据类型有( )

    [多选题]以下选项属于 Python 整数类型的是( ) [其它]根据CAD原文件绘制别墅立面图:如图 别墅立面图002.dwg [单选题]字符串是一个连续的字符序列,用________方式打印出可以 ...

  5. python不支持单字符类型_Python数据类型之字符串

    1. Python字符串的创建 字符串是Python中最常见的数据类型,通常使用单引号或双引号来定义一个字符串,如下: str = "我是字符串" str1 = '我也是字符串' ...

  6. Python支持的数据类型

    Python基本数据类型一般分为: 非组合数据类型:数字.字符串 组合数据类型:集合 .序列类型(列表.元组).字典.掌握序列类型,可以应对绝大多数组合数据类型的应用场景. 技巧: 可以使用type( ...

  7. python支持的数据类型char_python基本数据类型

    笔记内容:基本数据类型 笔记日期:2017-10-20 基本数据类型 在python中变量不需要声明数据类型,但是每个变量使用前都必须先赋值,只有赋值后变量才会被创建.所以在python中变量就是变量 ...

  8. python支持哪些数据类型_Python支持的数据类型

    Python基本数据类型一般分为:数字.字符串.列表.元组.字典.集合 这六种基本数据类型. 数字 数字类型是不可更改的对象.对变量改变数字值就是 生成/创建 新的对象.Python支持多种数字类型: ...

  9. python支持char数据类型吗_python有char类型吗,

    详细内容 python没有char类型,一个字符也是字符串. 为什么在Python中没有专门的char数据类型呢? 简单胜于复杂.在 Python 中, 字符串中的每个字符占的空间大小是 8 bit. ...

最新文章

  1. 130.被围绕的区域
  2. mysql从零开始自增id_MySQL从零开始 7-表约束之主键,自增长,唯一键
  3. [CareerCup] 13.10 Allocate a 2D Array 分配一个二维数组
  4. mapper文件cant resolve param_Nodejs 中基于 Stream 的多文件合并实现
  5. 前端学习(808):复杂数据类型传参
  6. C语言字符串分离数字和字母,请问这个用c怎么做:输入一串字符,分别统计其中数字和字母的个数...
  7. spring aop源码分析
  8. idea下如何正确导入多个module
  9. spring mvc国际化_Spring MVC国际化(i18n)和本地化(L10n)示例
  10. Atitit.加密算法 des  aes 各个语言不同的原理与解决方案java php c#
  11. c语言新手的无奈,几个新手容易犯的错误
  12. js双击事件条件触发_js页面触发chargeRequest事件和Nginx获取日志信息
  13. “杜绝电子垃圾,我们需要软件永远更新下去!”
  14. 最新可用今日头条视频解析(简单分析+易语言实现)
  15. Java8中关于LocalDateTime转换方法总结
  16. 深入了解canvas标签(3)——使用图像
  17. Excel画横坐标不均分的图表
  18. 摊牌了,做为前端,我经常在用的15个国外网站
  19. 渣渣渣变渣渣系列(1)
  20. C语言编程中void什么意思,程序设计中遇到的void到底是什么意思

热门文章

  1. 下载.Net 4源码
  2. PC厂商如何演化移动互联网市场格局?
  3. 大话软件管理之-----yum
  4. 回滚 - 每天5分钟玩转 Docker 容器技术(141)
  5. 【项目实战】---使用ajax完毕username是否存在异步校验
  6. 苹果iCloud或在今年晚些时候支持游戏中心和苹果地图
  7. Nagios Web 页面声音报警
  8. Tiny C++通用库终于基本上完成了 - 专职C++ - C++博客
  9. default activity not found怎么解决_我怎么也没想到“羽绒服”的英文是down jacket,哪里down了?...
  10. linux mysql换成_把 SQL Server 迁移到 Linux?不如换成 MySQL