主页 > 互联网  > 

python(1)-元组和集合

python(1)-元组和集合

Python的列表与Java、C等其他语言的数组非常相似,是对象的有序集合。创建列表的方法是,在方括号中列出以逗号分隔的元素,如下所示:

# 将包含3个元素的列表赋给x x = [1, 2, 3]

注意,列表不必提前声明,也不用提前就将大小固定下来(大小可变)。以上在一行代码中就完成了列表的创建和赋值,列表的大小会根据需要自动增减。

与很多其他语言的列表不同,Python的列表可以包含不同类型的元素,列表元素可以是任意的Python对象。下面就是包含各种元素的列表示例:

# 第一个元素是数字,第二个元素是字符串,第三个元素是另一个列表 x = [2, "two", [1, 2, 3]]

最基本的内置列表函数或许就是len函数了,它返回列表的元素数量:

x = [2, "two", [1, 2, 3]] print(len(x))

len函数不会对内部嵌套的列表中的数据项进行计数。

x=[0] print(len(x)) x=[] print(len(x)) x=[[1, 3, [4, 5], 6], 7] print(len(x))

使用类似C语言数组索引的语法,就可以从Python列表中提取元素。像C和许多其他语言一样,Python从0开始计数,索引为0将返回列表的第一个元素,索引为1则返回第二个元素,依此类推。下面给出一些示例:

x = ["first", "second", "third", "fourth"] print(x[0]) print(x[2])

但是Python的索引用法比C语言更加灵活。如果索引为负数,表示从列表末尾开始计数的位置,其中-1是列表的最后位置(0已经被用了,只能从-1开始),-2是倒数第二位,依此类推。继续沿用以上列表x,可以执行以下操作:

print(x[-1]) print(x[-2])

Python支持一次提取或赋值一整个子列表,也就是切片(slice)操作。不是用list[index]提取紧跟着index的数据项,而是用list[index1:index2]提取index1(含)和上限至index2(不含)之间的所有数据项,并放入一个新列表中。**取前取后,这个是编程里面经常遇到的一种情况。**下面给出一些示例:

x = ["first", "second", "third", "fourth"] print(x[1:-1]) print(x[0:3]) print(x[-2:-1])

如果第二个索引给出第一个索引之前的位置会返回空列表:

print(x[-1:2])

在对列表进行切片时,还可以省略index1或index2。省略index1表示“从列表头开始”​,而省略index2则表示“直到列表末尾为止”​:

print(x[:3]) print( x[2:])

如果两个索引都省略了,将会由原列表从头至尾创建一个新列表,即列表复制。如果需要修改列表,但又不想影响原列表,就需要创建列表的副本,这时就能用列表复制技术了:

y = x[:] y[0] = '1 st' print(y) print(x)

本文全代码合集

# 将包含3个元素的列表赋给x x = [1, 2, 3] print(x) # 第一个元素是数字,第二个元素是字符串,第三个元素是另一个列表 x = [2, "two", [1, 2, 3]] print(x) print(len(x)) x=[0] print(len(x)) x=[] print(len(x)) x=[[1, 3, [4, 5], 6], 7] print(len(x)) x = ["first", "second", "third", "fourth"] print(x[0]) print(x[2]) print(x[-1]) print(x[-2]) x = ["first", "second", "third", "fourth"] print(x[1:-1]) print(x[0:3]) print(x[-2:-1]) print(x[-1:2]) print(x[:3]) print( x[2:]) y = x[:] y[0] = '1 st' print(y) print(x)
标签:

python(1)-元组和集合由讯客互联互联网栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“python(1)-元组和集合