当前位置:   article > 正文

python数据结构-列表,元组_python列表、元组信息

python列表、元组信息

列表

列表是Python中最通用的数据类型,可以写成方括号之间的逗号分隔值(项目)列表。 使用列表的重要事项是,列表中的项目不必是相同的类型。也就是说一个列表中的项目(元素)可以是数字,字符串,数组,字典等甚至是列表类型。
创建列表时,可在方括号([])中放置并使用逗号分隔值。 例如 -

list1 = ['physics', 'chemistry', 1990, 2019];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"]
  • 1
  • 2
  • 3

与字符串索引类似,列表索引从0开始,列表可以被切片,连接等。

访问列表中的值

要访问列表中的值,请使用方括号将切片与索引或索引一起使用,以获取该索引处的值。 例如 -

#!/usr/bin/python

list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5, 6, 7 ];

# 第1个元素,返回的是字符串
print "list1[0]: ", list1[0]

# 第2到5个元素,返回的是一个列表
print "list2[1:5]: ", list2[1:5]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

当上面的代码执行时,它会产生以下结果 -

list1[0]:  physics
list2[1:5]:  [2, 3, 4, 5]
  • 1
  • 2

更新列表

可以通过在赋值运算符的左侧给出切片来更新列表的单个或多个元素,并且可以使用append()方法将其添加到列表中的元素。 例如 -

#!/usr/bin/python

list = ['physics', 'chemistry', 1997, 2000];
print "Value available at index 2 : "
print list[2]
list[2] = 2001;
print "New value available at index 2 : "
print list[2]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

注 - append()方法在后面的章节中讨论。

当上面的代码被执行时,它会产生以下结果 -

Value available at index 2 :
1997
New value available at index 2 :
2001
  • 1
  • 2
  • 3
  • 4

删除列表元素

要删除一个列表元素,如果确切地知道要删除哪个元素,或者不知道如何使用remove()方法,那么可以使用del语句。 例如 -

#!/usr/bin/python

list1 = ['physics', 'chemistry', 1997, 2000];
print list1
del list1[2];
print "After deleting value at index 2 : "
print list1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

当上面的代码被执行时,它会产生以下结果 -

['physics', 'chemistry', 1997, 2000]
After deleting value at index 2 :
['physics', 'chemistry', 2000]
  • 1
  • 2
  • 3

注 - remove()方法在后面的章节中讨论。

基本列表操作

列表很像字符串一样对+和*运算符作出响应; 它们也意味着连接和重复,但它计算返回结果是新列表,而不是字符串

Python表达式结果描述
len([1, 2, 3])3计算列表的长度
[1, 2, 3] + [ 4, 5, 6][1, 2, 3, 4, 5, 6]两个列表连接
[‘Hi!’] * 4[‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’]重复操作
3 in [1, 2, 3]True成员关系
for x in [1, 2, 3]: print x,1 2 3迭代

元组

元组是一系列不可变的Python对象。 元组是一种序列,就像列表一样。 元组和列表的区别在于,不同于列表和元组使用中括号 - (),而列表使用方括号 - [],并且元组不能改变。
创建一个元组与放置不同的逗号分隔值一样简单。 也可以将这些以逗号分隔的值放在圆括号之间。 例如 -

tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";
  • 1
  • 2
  • 3

空元组是两个不包含任何内容的圆括号,如下 -

tup1 = ();
  • 1

要写一个包含单个值的元组,即使只有一个值,也必须包含一个逗号,

tup1 = (50,);
  • 1

像字符串索引一样,元组索引从0开始,并且它们可以被分片,连接等等。

访问元组中的值

要访问元组中的值,可使用方括号将切片与索引一起使用,以获取该索引处可用的值。 例如 -

#!/usr/bin/python

tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5, 6, 7 );
print ("tup1[0]: ", tup1[0]);
print ("tup2[1:5]: ", tup2[1:5]);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

执行上面示例代码,得到以下结果 -

tup1[0]:  physics
tup2[1:5]:  [2, 3, 4, 5]
  • 1
  • 2

更新元组

元组是不可变的,这意味着不能更新或改变元组元素的值。但是可以将现有的元组的一部分来创建或重组成新的元组,如下例所示 -

#!/usr/bin/python

tup1 = (12, 34.56);
tup2 = ('abc', 'xyz');

# Following action is not valid for tuples
# tup1[0] = 100;

# So let's create a new tuple as follows
tup3 = tup1 + tup2;
print (tup3);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

当执行上面示例代码,得到以下结果 -

(12, 34.56, 'abc', 'xyz')
  • 1

删除元组元素

删除单个元组元素是不可能的。 当然,将另一个元组与不需要的元素组合在一起成新的元组是没有任何问题的。
要显式删除整个元组,只需使用del语句。 例如 -

#!/usr/bin/python

tup = ('physics', 'chemistry', 1997, 2000);
print (tup);
del tup;
print ("After deleting tup : ");
print (tup);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

这会产生以下结果。 请注意引发的异常,这是因为在del tup语句之后,元组不再存在 -

('physics', 'chemistry', 1997, 2000)
After deleting tup : 
Traceback (most recent call last):
  File "F:\worksp\python\test.py", line 7, in <module>
    print (tup);
NameError: name 'tup' is not defined
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

基本元组操作

元组可像字符串一样对+和*运算符作出响应; 它们也意味着连接和重复,但返回结果是一个新的元组,而不是一个字符串。
事实上,元组响应类似字符串使用的所有常规序列操作 -

Python表达式结果描述
len((1, 2, 3))3计算列表的长度
(1, 2, 3) + ( 4, 5, 6)(1, 2, 3, 4, 5, 6)两个列表连接
(‘Hi!’) * 4(‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’)重复操作
3 in (1, 2, 3)True成员关系
for x in (1, 2, 3): print x,1 2 3迭代
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/117614
推荐阅读
相关标签
  

闽ICP备14008679号