python数据类型之列表,python基本数据类型之

一、列表—-list

python数据类型之列表,python数据类型

列表定义

列表是由一多级案特定顺序排列的要素结合。在python中,用方括号([])来代表,并用逗号来分隔当中的因素。

names = ['Alex',"Tenglan",'Eric']

python的列表数据类型及常用操作,python列表数据类型

列表是最常用的Python数据类型,它能够视作1个方括号内的逗号分隔值现身。

列表中的每种成分都分配二个数字 –
它的职位,或索引,第①个索引是0,第二个目录是1,依此类推。  

列表能够实行的操作包含索引,切片,加,乘,检查成员。
其余,Python已经嵌入鲜明种类的长度以及明确最大和纤维的因素的不二法门。

列表的数额项不需求具有同等的项目创立一个列表,只要把逗号分隔的分歧的多寡项应用方括号括起来即可。

一般来说所示:

list1 = ['physics', 'H2O', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]

列表的切片操作:

l[0:2] 取列表的第一到第二个元素

l[2:5] 取列表的第三到第四个元素

l[::2] 间隔取列表元素1、3、5....

列表的常用操作如下所示:

li=[‘day’, ‘eric’, ‘rain’]

测算列表长度并出口

print(len(li))
3 

列表中加进成分“seven”

li.append("seven")

在列表的第③个职务插入成分“托尼”

li.insert(0, "tony")

修改列表第三个岗位的成分为“凯利”

li[1] = "kelly"

删除列表中的成分“eric”

li.remove("eric")

剔除列表中的第①个要素

li.pop(1)

除去列表中的第一至陆个因素

for i in range(3):
     li.pop(1)

将列表全部的成分反转

# 方法1
li[::-1]
# 方法2
list(reversed(li))

行使for、len、range输出列表的索引
使用enumrate输出列表成分和序号(序号从100开首)

for k, v in enumerate(li, 100):
     print(k, v)

应用for循环输出列表的富有因素

for i in range(len(li)):
     print(i)

 

 

 

列表是最常用的Python数据类型,它能够看作三个方括号内的逗号分隔值出现。
列表中…

         
列表是不变的,列表成分能够被修改

列表定义

列表是由一三种案特定顺序排列的成分构成。在python中,用方括号([])来代表,并用逗号来分隔当中的成分。

names = ['Alex',"Tenglan",'Eric']

 列表访问

  • 列表成分的拜访从索引0起头,而不是索引1开端。
  • 列表的目录能够是从负数开端。那种语法常常在须要在不精通列表长度的境况下访问成分。

图片 1图片 2

>> names[0]
'Alex'
>>> names[2]
'Eric'
>>> names[-1]
'Eric'
>>> names[-2] #还可以倒着取
'Tenglan'

View Code

=================list之灰魔法================

 列表访问

  • 列表成分的拜会从索引0初步,而不是索引1开头。
  • python数据类型之列表,python基本数据类型之。列表的目录可以是从负数开端。那种语法平日在急需在不知晓列表长度的情形下访问成分。

图片 3

>> names[0]
'Alex'
>>> names[2]
'Eric'
>>> names[-1]
'Eric'
>>> names[-2] #还可以倒着取
'Tenglan'

View Code

列表操作

① 、列表格式:

列表操作

修改列表成分

图片 4图片 5

>>> names
['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']
>>> names[2] = "该换人了"
>>> names
['Alex', 'Tenglan', '该换人了', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']

View Code

  中括号括起来,

修改列表元素

图片 6

>>> names
['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']
>>> names[2] = "该换人了"
>>> names
['Alex', 'Tenglan', '该换人了', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']

View Code

添加列表成分

  • 从列表末尾添加,利用append方法。

图片 7图片 8

>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy']
>>> names.append("我是新来的")
>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']

View Code

  • 从列表任意地方添加,利用insert方法。

图片 9图片 10

>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']
>>> names.insert(2,"强行从Eric前面插入")
>>> names
['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']

>>> names.insert(5,"从eric后面插入试试新姿势")
>>> names
['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']

View Code

  逗号分隔各个成分,

添加列表成分

  • 从列表末尾添加,利用append方法。

图片 11

>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy']
>>> names.append("我是新来的")
>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']

View Code

  • 从列表任意地点添加,利用insert方法。

图片 12

>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']
>>> names.insert(2,"强行从Eric前面插入")
>>> names
['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']

>>> names.insert(5,"从eric后面插入试试新姿势")
>>> names
['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']

View Code

剔除列表元素

  • 动用“del”删除,删除的列表成分无法再利用。

图片 13图片 14

>>> del names[2] 
>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']
>>> del names[4]
>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']
>>> 

View Code

  • 使用pop方法删除

在pop方法中,暗许是从列表末尾删除,但也能够给pop方法传参,参数表示列表的目录;利用pop方法弹出的列表成分得以被再度使用。

图片 15图片 16

 1 >>>name = ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', '我是新来的']
 2 >>> names.pop() #删除列表最后一个值 
 3 '我是新来的'
 4 >>> names
 5 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']
 6 
 7 >>> names.pop(2) #删除列表任意一个值 
 8 '我是新来的'
 9 >>> names
10 ['Alex', 'Tenglan', 'Tom', 'Amy']

View Code

  • 应用列表成分值删除

利用remove方法达成。

图片 17图片 18

1 >>>name = ['Alex', 'Tenglan', 'Eric', 'Rain']
2 >>>name.remove('Eric')
3 ['Alex', 'Tenglan','Rain']

View Code

  • 假设要从列表中剔除多少个因素,而以此成分不会再以任何措施利用,那么就用“del”删除,反之,用pop方法删除。
  • 方法remove只可以删除第①个钦定的要素。倘诺要刨除的值在列表中设有多个,那么快要用循环去删除。

  列表中的元素得以是数字、字符串、列表、布尔值、等有着的都能放进去

剔除列表成分

  • 使用“del”删除,删除的列表成分无法再使用。

图片 19

>>> del names[2] 
>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']
>>> del names[4]
>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']
>>> 

View Code

  • 选用pop方法删除

在pop方法中,私下认可是从列表末尾删除,但也足以给pop方法传参,参数表示列表的目录;利用pop方法弹出的列表成分得以被再度行使。

图片 20

 1 >>>name = ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', '我是新来的']
 2 >>> names.pop() #删除列表最后一个值 
 3 '我是新来的'
 4 >>> names
 5 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']
 6 
 7 >>> names.pop(2) #删除列表任意一个值 
 8 '我是新来的'
 9 >>> names
10 ['Alex', 'Tenglan', 'Tom', 'Amy']

View Code

  • 运用列表成分值删除

动用remove方法完成。

图片 21

1 >>>name = ['Alex', 'Tenglan', 'Eric', 'Rain']
2 >>>name.remove('Eric')
3 ['Alex', 'Tenglan','Rain']

View Code

  • 只要要从列表中删去3个因素,而这一个因素不会再以任何措施选用,那么就用“del”删除,反之,用pop方法删除。
  • 措施remove只可以删除第多少个钦定的因素。借使要刨除的值在列表中留存五个,那么就要用循环去删除。

列表排序

  • 永久性改变列表顺序

选择sort方法实现。给sort方法的参数为“reverse=True”时,可以反向排序;排序的基准是依照字母顺序排序的。

图片 22图片 23

1 ['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']
2 >>> names.sort()
3 >>> names
4 ['1', '2', '3', 'Alex', 'Amy', 'Amy', 'Tenglan', 'Tom']
5 
6 >>> names.sorted(reverse=True) #反转
7 >>> names
8 ['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']

View Code

同样也得以运用reverse方法完结反转。

图片 24图片 25

1 ['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']
2 >>> names.sort()
3 >>> names
4 ['1', '2', '3', 'Alex', 'Amy', 'Amy', 'Tenglan', 'Tom']
5 
6 >>> names.reverse() #反转
7 >>> names
8 ['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']

View Code

还索要专注的是,在python3中,分化数据类型是无能为力排序的

图片 26图片 27

1 >>> names
2 ['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3]
3 >>> names.sort() #排序
4 Traceback (most recent call last):
5   File "<stdin>", line 1, in <module>
6 TypeError: unorderable types: int() < str() 

View Code

  • 封存原来列表的排列顺序

行使sorted方法实现。跟sort方法同理,给sorted方法的参数为“reverse=True”时,能够反向排序。

图片 28图片 29

1 >>>names = ['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']
2 >>>print(sorted(names))
3 ['1', '2', '3', 'Alex', 'Amy', 'Amy', 'Tenglan', 'Tom']
4 
5 >>>print(names)
6 ['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']

View Code

  “集合“,”内部可以停遗弃何事物

列表排序

  • 永久性改变列表顺序

使用sort方法完结。给sort方法的参数为“reverse=True”时,可以反向排序;排序的标准是比照字母逐一排序的。

图片 30

1 ['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']
2 >>> names.sort()
3 >>> names
4 ['1', '2', '3', 'Alex', 'Amy', 'Amy', 'Tenglan', 'Tom']
5 
6 >>> names.sorted(reverse=True) #反转
7 >>> names
8 ['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']

View Code

一律也足以行使reverse方法完结反转。

图片 31

1 ['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']
2 >>> names.sort()
3 >>> names
4 ['1', '2', '3', 'Alex', 'Amy', 'Amy', 'Tenglan', 'Tom']
5 
6 >>> names.reverse() #反转
7 >>> names
8 ['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']

View Code

还亟需留意的是,在python3中,差异数据类型是心有余而力不足排序的

图片 32

1 >>> names
2 ['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3]
3 >>> names.sort() #排序
4 Traceback (most recent call last):
5   File "<stdin>", line 1, in <module>
6 TypeError: unorderable types: int() < str() 

View Code

  • 保存原来列表的排列顺序

接纳sorted方法达成。跟sort方法同理,给sorted方法的参数为“reverse=True”时,能够反向排序。

图片 33

1 >>>names = ['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']
2 >>>print(names.sorted())
3 ['1', '2', '3', 'Alex', 'Amy', 'Amy', 'Tenglan', 'Tom']
4 
5 >>>print(names)
6 ['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']

View Code

列表元素下表获取

运用index方法达成。

图片 34图片 35

1 >>> print(names)
2 ['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']
3 >>> names.index("Amy")
4 2 #只返回找到的第一个下标

View Code

  li=[‘alex’, ‘小名’, [12, 23, 45],
23, 23, ‘小花’]

列表成分下表获取

使用conut方法和index方法达成。

图片 36

1 >>> print(names)
2 ['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3]
3 >>> names.count("Amy")
4 2
5 
6 >>> print(names)
7 ['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']
8 >>> names.index("Amy")
9 2 #只返回找到的第一个下标

View Code

列表成分出现次数获取

运用count方法达成

图片 37图片 38

1 >>> print(names)
2 ['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3]
3 >>> names.count("Amy")
4 2

View Code

二 、列表中能够嵌套任何项目

获得列表长度

利用len方法完毕。供给专注的是,在计算列表长度时,是从1发端的。

图片 39

1 >>> names = ['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']
2 >>> len(names)
3 8

View Code

获得列表长度

使用len方法完毕。须要留意的是,在计算列表长度时,是从1方始的。

图片 40图片 41

1 >>> names = ['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']
2 >>> len(names)
3 8

View Code

三 、能够经过索引取值,  或许切片取值(切片取值的结果也是列表)

列表切片操作

亟待专注的是,“:”前边的目录表示起先地点,“:”前面包车型地铁目录代表终止地点。

图片 42

 1 >>> names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]
 2 >>> names[1:4]  #取下标1至下标4之间的数字,包括1,不包括4
 3 ['Tenglan', 'Eric', 'Rain']
 4 >>> names[1:-1] #取下标1至-1的值,不包括-1
 5 ['Tenglan', 'Eric', 'Rain', 'Tom']
 6 >>> names[0:3] 
 7 ['Alex', 'Tenglan', 'Eric']
 8 >>> names[:3] #如果是从头开始取,0可以忽略,跟上句效果一样
 9 ['Alex', 'Tenglan', 'Eric']
10 >>> names[3:] #如果想取最后一个,必须不能写-1,只能这么写
11 ['Rain', 'Tom', 'Amy'] 
12 >>> names[3:-1] #这样-1就不会被包含了
13 ['Rain', 'Tom']
14 >>> names[0::2] #后面的2是代表,每隔一个元素,就取一个
15 ['Alex', 'Eric', 'Tom'] 
16 >>> names[::2] #和上句效果一样
17 ['Alex', 'Eric', 'Tom']

View Code

 

列表定义
列表是由一文山会海案特定顺序排列的因素构成。在python中,用方括号([])来代表,并用逗号来…

列表切片操作

急需注意的是,“:”后面包车型大巴目录代表初叶地方,“:”后边的目录表示终止地点。

图片 43图片 44

 1 >>> names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]
 2 >>> names[1:4]  #取下标1至下标4之间的数字,包括1,不包括4
 3 ['Tenglan', 'Eric', 'Rain']
 4 >>> names[1:-1] #取下标1至-1的值,不包括-1
 5 ['Tenglan', 'Eric', 'Rain', 'Tom']
 6 >>> names[0:3] 
 7 ['Alex', 'Tenglan', 'Eric']
 8 >>> names[:3] #如果是从头开始取,0可以忽略,跟上句效果一样
 9 ['Alex', 'Tenglan', 'Eric']
10 >>> names[3:] #如果想取最后一个,必须不能写-1,只能这么写
11 ['Rain', 'Tom', 'Amy'] 
12 >>> names[3:-1] #这样-1就不会被包含了
13 ['Rain', 'Tom']
14 >>> names[0::2] #后面的2是代表,每隔一个元素,就取一个
15 ['Alex', 'Eric', 'Tom'] 
16 >>> names[::2] #和上句效果一样
17 ['Alex', 'Eric', 'Tom']

View Code

  print(li[3])           print(li[3:-1])

列表解析

列表解析将for循环和创办新因素的代码合并成一行,并自行叠加新成分。

图片 45图片 46

1 >>>s = [value**2 for value in range(1,5)]
2 >>>print(s)
3 [1, 4, 9, 16]

View Code

4、支持for循环,   while循环。

数值列表

能够选拔list方法和range方法,火速完成定义数值列表。

图片 47图片 48

1 >>>numbers = list(range(1,30,3))
2 >>>print(numbers)
3 [1, 4, 7, 10, 13, 16, 19, 22, 25, 28]

View Code

可以采用max方法,min方法和sum方法,总括需求的值。

图片 49图片 50

1 >>>numbers = list(range(1,30,3))
2 >>>print(numbers)
3 >>>print(min(numbers))
4 >>>print(max(numbers))
5 >>>print(sum(numbers))
6 [1, 4, 7, 10, 13, 16, 19, 22, 25, 28]
7 1
8 28
9 145

View Code

 

 

⑤ 、列表成分能够展开改动

  索引修改: li [ 2 ] =120    print(li)

  索引切片修改: li [1:3] = [27, 28]