开始Python -- List和Tuple(2)

原创 2007年10月10日 13:45:00

2List

1 list函数

l         根据String创建List

>>> list('Hello')

['H', 'e', 'l', 'l', 'o']

l         转换字符ListString

''.join(somelist)

2)基本 List操作符

l         改变List

>>> x = [1, 1, 1]

>>> x[1] = 2

>>> x

[1, 2, 1]

l         删除元素:del

>>> names = ['Alice', 'Beth', 'Cecil', 'Dee-Dee', 'Earl']

>>> del names[2]

>>> names

['Alice', 'Beth', 'Dee-Dee', 'Earl']

l         Slice赋值:

>>> name = list('Perl')

>>> name[1:] = list('ython')

>>> name

['P', 'y', 't', 'h', 'o', 'n']

l         使用Slice赋值插入元素:

 

>>> numbers = [1, 5]

>>> numbers[1:1] = [2, 3, 4]

>>> numbers

[1, 2, 3, 4, 5]

l         使用Slice赋值删除元素:

>>> numbers[1:4] = []

>>> numbers

[1, 5]

3 List函数

l         append:追加对象到List结尾

>>> lst = [1, 2, 3]

>>> lst.append(4)

>>> lst

[1, 2, 3, 4]

l         count:统计元素在List中出现的次数

>>> ['to', 'be', 'or', 'not', 'to', 'be'].count('to')

2

l         extend:追加SequenceList结尾

>>> a = [1, 2, 3]

>>> b = [4, 5, 6]

>>> a.extend(b)

>>> a

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

l         相比a + bextend会改变a的结果,而a + b却不会改变a的结果:

>>> a = [1, 2, 3]

>>> b = [4, 5, 6]

>>> a + b

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

>>> a

[1, 2, 3]

l         可以用a = a + b来实现extend的功能,但效率没有extend

l         index:返回List中第一次出现该元素的index值,找不到抛异常

>>> knights = ['We', 'are', 'the', 'knights', 'who', 'say', 'ni']

>>> knights.index('who')

4

>>> knights.index('herring')

Traceback (most recent call last):

  File "<interactive input>", line 1, in ?

ValueError: list.index(x): x not in list

l         insert:插入一个对象到List

>>> numbers = [1, 2, 3, 5, 6, 7]

>>> numbers.insert(3, 'four')

>>> numbers

[1, 2, 3, 'four', 5, 6, 7]

l         可以使用Slice赋值实现相同的功能:

>>> numbers = [1, 2, 3, 5, 6, 7]

>>> numbers[3:3] = ['four']

>>> numbers

[1, 2, 3, 'four', 5, 6, 7]

l         pop:从List中移去一个元素(缺省是最后一个),并返回它

>>> x = [1, 2, 3]

>>> x.pop()

3

>>> x

[1, 2]

>>> x.pop(0)

1

>>> x

[2]

l         可以使用pop()函数实现堆栈功能,虽然Python不提供相应的push函数,但可以使用append()函数实现

l         remove:移去List中遇到的第一个元素(和pop()函数不同,不返回该元素)

>>> x = ['to', 'be', 'or', 'not', 'to', 'be']

>>> x.remove('be')

>>> x

['to', 'or', 'not', 'to', 'be']

l         reverse:反转List中元素

>>> x = [1, 2, 3]

>>> x.reverse()

>>> x

[3, 2, 1]

l         reverse()函数会改变List,如果不想改变List,可以使用reversed()函数;由于reversed()函数返回的不是List,需要用list()函数转换:

>>> x = [1, 2, 3]

>>> list(reversed(x))

[3, 2, 1]

l         sort:对List进行排序,会改变List,但不返回任何值

>>> x = [4, 6, 2, 1, 7, 9]

>>> print x.sort()

None

>>> x

[1, 2, 4, 6, 7, 9]

l         如果不想改变原来的List,可以先拷贝List,再进行排序:

>>> x = [4, 6, 2, 1, 7, 9]

>>> y = x[:]

>>> y.sort()

>>> x

[4, 6, 2, 1, 7, 9]

>>> y

[1, 2, 4, 6, 7, 9]

l         注意,不要使用y = x的赋值,这样会使yx指向同一个List

>>> y = x

>>> y.sort()

>>> x

[1, 2, 4, 6, 7, 9]

>>> y

[1, 2, 4, 6, 7, 9]

l         另一种对拷贝List排序的方法是使用sorted()函数:

>>> x = [4, 6, 2, 1, 7, 9]

>>> y = sorted(x)

>>> x

[4, 6, 2, 1, 7, 9]

>>> y

[1, 2, 4, 6, 7, 9]

l         sorted()函数返回的是List

>>> sorted('Python')

['P', 'h', 'n', 'o', 't', 'y']

l         高级排序:可以以compare(x,y)的形式(x<y时返回负数,x=y时返回0x>y时返回正数)定义自己的比较函数,作为参数传递给sort()函数,下面的例子使用內建的cmp()函数提供缺省的行为:

>>> cmp(42, 32)

1

>>> cmp(99, 100)

-1

>>> cmp(10, 10)

0

>>> numbers = [5, 2, 9, 7]

>>> numbers.sort(cmp)

>>> numbers

[2, 5, 7, 9]

l         按元素的长度排序:

>>> x = ['aardvark', 'abalone', 'acme', 'add', 'aerate']

>>> x.sort(key=len)

>>> x

['add', 'acme', 'aerate', 'abalone', 'aardvark']

l         反转排序(缺省为升序,反转为降序):

>>> x = [4, 6, 2, 1, 7, 9]

>>> x.sort(reverse=True)

>>> x

[9, 7, 6, 4, 2, 1]

 

 

Python学习笔记 - List数组和Tuple数组 -2

数组定义ListPython内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。 Tuple另一种有序列表叫元组:tuple。tuple和list非常类似,但是...
  • LiHaoYang11
  • LiHaoYang11
  • 2017年02月21日 16:30
  • 660

python基础(输入—字符串—list—tuple—循环)

1、输入 >>> name = input() Michael>>> name 'Michael'name = input() print('hello,', name)name = input('p...
  • yeyang123
  • yeyang123
  • 2015年09月29日 13:29
  • 1546

python函数传递list,tuple和dict时的复制关系

一直对python函数中的参数关系
  • libaishen1991
  • libaishen1991
  • 2014年11月03日 20:11
  • 2126

Python中LIst与Tuple的对比总结

一 list类型 Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。 比如,列出班里所有同学的名字,就可以用一个list表示: >>> ['Mi...
  • mhady
  • mhady
  • 2016年06月13日 23:04
  • 1517

Python 列表(List)操作方法详解

转载自:http://www.jb51.net/article/47978.htm 列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型。...
  • u012223913
  • u012223913
  • 2016年07月27日 17:21
  • 4460

王亟亟的Python学习之路(四)-循环,条件,Range,list和tuple

转载请注明出处:王亟亟的大牛之路这是本次Python学习历程的第4篇,之前的文章:传送门这篇主要讲以下几个知识点 - 循环 - 条件语句 - range函数 - list - tuple循环...
  • ddwhan0123
  • ddwhan0123
  • 2015年11月02日 16:50
  • 2432

Python的列表操作List

# !_*_ coding:utf-8 _*_ # PythonStudy # PythonList.py # # Created by vincent.li on 2017/12/0...
  • IOS_dashen
  • IOS_dashen
  • 2017年12月02日 23:15
  • 73

Python语言学习讲解五:列表(List)操作方法详解

这篇文章主要介绍了Python中列表(List)的详解操作方法,包含创建、访问、更新、删除、其它操作等,需要的朋友可以参考下 列表是Python中最基本的数据结构,列表是最常用的Python数据类型,...
  • Windgs_YF
  • Windgs_YF
  • 2016年11月16日 12:31
  • 1048

python里面的set、list、tuple区别和使用方法

python中set,list,tuple。虽然很多人都已经写过了,但每个人都有每个人的理解。list可能在三种中list,列表是用的最多的了吧。下面简要说一下它的基本用法#1. 生成空的列表 l =...
  • lxg0807
  • lxg0807
  • 2017年03月31日 20:12
  • 878

[python笔记][第二章Python序列-list]

2016/1/27学习内容第二章 Python序列-listlist常用操作list.append(x)list.extend(L)list.insert(index,x)list.remove(x)...
  • zy691357966
  • zy691357966
  • 2016年04月02日 16:28
  • 619
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:开始Python -- List和Tuple(2)
举报原因:
原因补充:

(最多只允许输入30个字)