python 05 列表 元组 (序列)

自闭症网瘾萝莉.ら 提交于 2020-02-23 14:37:58
  • 循环(loop),指的是在满足条件的情况下,重复执行同一段代码。比如,while语句。

                           [ 循环则技能对应集合,列表,数组等,也能对执行代码进行操作。]                      

 

  • 迭代(iterate),指的是按照某种顺序逐个访问列表中的每一项。比如,for语句。

                            [迭代只能对应集合,列表,数组等。不能对执行代码进行迭代。]                

 

  • 遍历(traversal),指的是按照一定的规则访问树形结构中的每个节点,而且每个节点都只访问一次。

                            [遍历同迭代一样,也不能对执行代码进行遍历。]

 

  • 递归(recursion),指的是一个函数不断调用自身的行为。比如,以编程方式输出著名的斐波纳契数列。

                            [线性递归和尾递归。]

列表的数据项不需要具有相同的类型

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:

list1 = ['Google', 'Runoob', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"];
 
显示列表
list1 = ['Google', 'Runoob', 1997, 2000];
list2 = [1, 2, 3, 4, 5, 6, 7 ];
print ("list1[0]: ", list1[0])
print ("list2[1:5]: ", list2[1:5])

以上实例输出结果:

list1[0]:  Google
list2[1:5]:  [2, 3, 4, 5]更新列表

list = ['Google', 'Runoob', 1997, 2000]

print ("第三个元素为 : ", list[2])

list[2] = 2001

print ("更新后的第三个元素为 : ", list[2])

以上实例输出结果:

第三个元素为 :  1997
更新后的第三个元素为 :  2001

插入列表元素 

1.列表.append() 方法用于在列表末尾添加新的对象。

a=[2,3,4]

a.append(5)  只能一个参数

 

删除列表元素

可以使用 del 语句来删除列表的的元素,如下实例:

实例(Python 3.0+)

#!/usr/bin/python3 list = ['Google', 'Runoob', 1997, 2000] print ("原始列表 : ", list) del list[2] print ("删除第三个元素 : ", list)

以上实例输出结果:

原始列表 :  ['Google', 'Runoob', 1997, 2000]
删除第三个元素 :  ['Google', 'Runoob', 2000]

 

 

2.extend()  扩张列表,参数为列表

b=[0,9]

a.extend(b)   a+b(拼接)

 

3.insert() 函数用于将指定对象插入列表的指定位置。

语法

insert()方法语法:

list.insert(index, obj)

参数

  • index -- 对象 obj 需要插入的索引位置。
  • obj -- 要插入列表中的对象。

插入index的位置,原来在index的数据向后移

 

 

 

删除列表元素

1.

列表.remobe()  删除列表中元素

 

2.

del 列表[下标]   删除列表中元素

del 列表      删除全列表

 

3.

列表.pop()    删除最后一个

name = a.pop()    赋值给name

a.pop(0)    删第一个元素

 

切片    a[:3]   a[0:3]  1-3 ,后为闭区间

a[0:]   a[:]    前或后不写,默认最前或最后

 

 

列表操作符

列表比较大小,默认从第0个元素开始比较

 

列表 + 数字  这种插入方式不可,+两边需要同类数据类型

 

3 in a    判断元素是否在列表中

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

1 in a  false

1 in a[1]  true

a[1][0]=1

 

Python count() 方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置

str = "this is string example....wow!!!"

sub = "i"

print "str.count(sub, 4, 40) : ", str.count(sub, 4, 40)

>>>str.count(sub, 4, 40) : 2

a.count(2)    a中2出现的次数

 

 

Python index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常

index()方法语法:

str.index(str, beg=0, end=len(string))

  • str -- 指定检索的字符串
  • beg -- 开始索引,默认为0。
  • end -- 结束索引,默认为字符串的长度

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

a.index(2,0,5)  2

 

 

reverse() 函数用于反向列表中元素。

aList = [123, 'xyz', 'zara', 'abc', 'xyz']

aList.reverse()

print "List : ", aList

 

sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。

默认升序

aList = [123, 'Google', 'Runoob', 'Taobao', 'Facebook'];

aList.sort();

print "List : ", aList

>>List : [123, 'Facebook', 'Google', 'Runoob', 'Taobao']

 

 

vowels = ['e', 'a', 'u', 'o', 'i']

# 降序

vowels.sort(reverse=True)

 

 

# 获取列表的第二个元素
def takeSecond(elem):
  return elem[1]
# 列表
random = [(2, 2), (3, 4), (4, 1), (1, 3)]
# 指定第二个元素排序
random.sort(key=takeSecond)
# 输出类别
print '排序列表:', random

以上实例输出结果如下:

排序列表:[(4, 1), (2, 2), (1, 3), (3, 4)]

 

a1=a0[:]  另存为 id不同

a2=a0    保存 id相同

 

 

元组

a=(1,2,3,4)

a[0] = 1    当寻找元素时用[](序列)

 

a=(1)    type(a)  int型

a=(1,)    tuple

a=1,2,3    type(a)  tuple(元组)

 

8 * (8)  64  

8 * (8,)  (8,8,........)

 

元组插入(拼接)

a=(1,2,3,4)

a=a[:2]+0+a[2:]

>>a=(1,2,0,3,4)

 

del a    删除元组

 

 

字符串

a.casefold()    整个字符串小写

 

 

'%c' % 97

>>'a'

'%c%c%c' % (97,98,99)

>>'abc'

 

'%s' % 'hi'

>>'hi'

 

'%d+%d=%d' % (4,5,4+5)

>> '4+5=9'

 

'%#o' % 10

>>'0o12'

 

'%03d' % 5

>>'005'

 

'%-03d' % 5

>>'5  '      此刻5后面没有0,因为用0填补时,0放后面使得数字不准确,只能前置

 

序列 包括:列表,元组,字符串

共同拥有的操作属性:索引,分片,操作符

 

list()  把可迭代对象(元组)换成列表

a='hi'

list(a)

>>['h','i']

 

a=(1,2)

list(a)

>>[1,2]

 

tuple()  换成元组

str()    换成字符串

max()  返回最大值(ascll码的最大值)

min()  返回最小值

 

a=[1,2,'g']

max(a)    错误写法,同类才可比

 

a=(1,2,3)

sum(a)    同样同类才可求和

>>6

sum(a,4)  a求和+4

>>10

 

sorted()  从小到大排序

list(reversed(a))  列表倒序

list(enumerate(a))   把索引值变元组,与a变成列表

a=[1,2,3,4]

b=[3,4]

list(zip(a,b))   a比b的元素多时,把b的所有元素都对应上  

>>[(1,3),(2,4)]

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!