某某茶叶有限公司欢迎您!
金沙棋牌在线 > 操作系统 > python的列表数据类型及常用操作,python列表数据类型

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

时间:2019-12-01 13:16

一、列表----list

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

python基本数据类型,python数据类型

Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

在Python中变量就是变量,是内存地址指针,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。类似于其他java、C中的引用类型。

Python3中有六个标准的数据类型:

字符串(String)
布尔类型(Boolean)
整数(Integer)
浮点数(Float)
数字(Digit)
列表(List)
元组(Tuple)
集合(Sets)
字典(Dictionary)
日期(date)

 

一、字符串(String)

python中的字符串str用单引号('')或双引号("")括起来,同时使用反斜杠()转义特殊字符。

>>> s = 'Yes, he doesn't'
>>> print(s, type(s), len(s))
Yes, he doesn't <class 'str'> 15

如果不想让发生转义,可以在字符串前面加r或R,表示原始字符串:

>>> print('C:somename')
C:some
ame
>>> print(r'C:somename')
C:somename

另外,可以作为红续行符,表示下一行也是上一行的延续。还可以使用'''...'''或者"""..."""跨越多行。

字符串可以使用 + 运行符串连在一起,或者用 * 运算符重复:

注意:+连接字符串时,每连接一个时重新开辟内存,连接过多时,效率不高,这时候建议使用使用格式化字符串。

>>> s1 = 'we'
>>> s2 = 'are'
>>> s3 = 'go'
>>> print(s1 + ' ' + s2 + ' ' + s3)
we are go
>>>
>>> print("%s %s %s" % (s1, s2, s3))
we are go
>>>
>>> print('str' + 'ing', '*'*10)
string **********

python中的字符串有两种索引方式,第一是从左往右,从0开始依次增加,第二种是从右往左,从-1开始依次减少。

注意!没有单独的字符类型,一个字符就是长度为1的字符串。

>>> word = 'Python'
>>> print(word[0], word[5])
P n
>>> print(word[-1], word[-6])
n P

还可以对字符串进行切片,获取一段子串。用冒号分隔两个索引,形式为 变量[头下标:尾下标]

截取的范围是半闭后开,并且两个索引都可以省略:

>>> word = 'ILovePython'
>>>
>>>
>>> word[1:5]
'Love'

# 隔2个跳着取
>>> word[1:10:2]
'LvPto'
>>> word[:]
'ILovePython'
>>> word[5:]
'Python'
>>> word[-10:-6]
'Love'

与C字符串不同的是,python字符串不能被修改。如向一个索引位置赋值,word[0] = 'm' 会导致错误。

注意:

* 1、反斜杠可以用来转义,使用r可以让反斜杠不发生转义。

* 2、字符串可以用 + 运算符连接在一起,用*运算符重复。

* 3、python中的字符串两两种索引方式,从左往右以0开始,从右往左以-1开始

* 4、Python中的字符串不能改变。

 

二、布尔型(boolean)

bool只有两个值 True 、False

>>> type(True)
<class 'bool'>
>>> type(False)
>>>
<class 'bool'>
>>> bool(0)
False
>>> bool(1)
True
>>> bool(2)
True
>>> bool(3 == 3)
True

三、整型(integer)

 

Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。 在Python中...

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

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是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")

在列表的第1个位置插入元素“Tony”

li.insert(0, "tony")

修改列表第2个位置的元素为“Kelly”

li[1] = "kelly"

删除列表中的元素“eric”

li.remove("eric")

删除列表中的第2个元素

li.pop(1)

删除列表中的第2至4个元素

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']

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

 列表访问

  • 列表元素的访问从索引0开始,而不是索引1开始。
  • 列表的索引可以是从负数开始。这种语法经常在需要在不知道列表长度的情况下访问元素。

图片 1

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

View Code

1、列表格式:

列表操作

  中括号括起来,

修改列表元素

图片 2

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

View Code

  逗号分隔每个元素,

添加列表元素

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

图片 3

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

View Code

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

图片 4

>>> 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”删除,删除的列表元素不能再使用。

图片 5

>>> 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方法弹出的列表元素可以被再次使用。

图片 6

 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方法实现。

图片 7

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

View Code

  • 如果要从列表中删除一个元素,而这个元素不会再以任何方式使用,那么就用“del”删除,反之,用pop方法删除。
  • 方法remove只能删除第一个指定的元素。如果要删除的值在列表中存在多个,那么就要用循环去删除。

  “集合“,”内部可以放置任何东西

列表排序

  • 永久性改变列表顺序

利用sort方法实现。给sort方法的参数为“reverse=True”时,可以反向排序;排序的原则是按照字母顺序排序的。

图片 8

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方法实现反转。

图片 9

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中,不同数据类型是无法排序的

图片 10

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”时,可以反向排序。

图片 11

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

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

列表元素下表获取

利用conut方法和index方法实现。

图片 12

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

2、列表中可以嵌套任何类型

获取列表长度

利用len方法实现。需要注意的是,在计算列表长度时,是从1开始的。

图片 13

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

View Code

3、可以通过索引取值,  或者切片取值(切片取值的结果也是列表)

列表切片操作

需要注意的是,“:”前面的索引表示起始位置,“:”后面的索引表示终止位置。

图片 14

 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中,用方括号([])来表示,并用逗号来...

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

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

5、列表元素可以进行修改

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

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