python之list

python中list是一个序列(字符串和元组也是序列),有下标,可以切片,拼接等,list也是一个可变数据类型,即可以修改list的元素的值且list的内存地址不变。

一.list的定义和遍历使用

list使用中括号[]来定义

numbers = ["one", "two", "three", "four", "five"]
print(type(numbers))
print(numbers)

输出结果如下
<class 'list'>
['one', 'two', 'three', 'four', 'five']

由<class 'list'>可看出numbers是一个list列表数据类型,有5个元素,可以直接print打印所有元素

遍历list列表

list列表中可以存储不同的数据类型

但是在开发中,list中通常用来存储相同类型的数据,通过for遍历就可以对每一个数据执行相同的操作

# 列表遍历
for i in numbers:
    print(i, end=" ")
print()

for i, j in enumerate(numbers):
    print(i, j)

输出结果如下
one two three four five 
0 one
1 two
2 three
3 four
4 five

使用for in结构可以遍历list列表中的每一个成员

enumerate()函数可以同时显示元素在列表中的下标。

二.列表的切片和倒序

列表的切片和str字符串一样,使用list[起始位置:结束位置]可以切取从其实位置下标开始到结束位置下标的前一个元素,起始位置和结束位置可以都不写或写一个

先看一下切片示例

numbers = ["one", "two", "three", "four", "five"]

# 列表切片
print(numbers[1:2])
print(numbers[:3])
print(numbers[:])
print(numbers[::2])
print(numbers[1::-1])
print(numbers[::-2])

输出结果如下:
['two']
['one', 'two', 'three']
['one', 'two', 'three', 'four', 'five']
['one', 'three', 'five']
['two', 'one']
['five', 'three', 'one']

列表的倒序

通过list本身的方法和切片实现

numbers = ["one", "two", "three", "four", "five"]

# 列表倒序
print(numbers[::-1])
numbers.reverse()
print(numbers)

输出结果如下
['five', 'four', 'three', 'two', 'one']
['five', 'four', 'three', 'two', 'one']

三.list的常用操作

列表是可变数据类型,也就是说list中的元素值可以修改,修改后查看list的内存地址是不变的;字符串是不可变数据类型,虽然字符串变量的值也可以修改,但其实是在内存中重新开辟了一块空间保存新的字符串,并将字符串变量指向新的地址,所以字符串修改后内存地址是改变的。

# 验证字符串是可变数据类型
print
(id(numbers)) # 打印numbers列表在解释器中的内存地址 numbers.reverse() # 将列表反转 print(numbers) # 反转后打印列表成员 print(id(numbers)) # 再打印numbers列表在解释器中的内存地址,和上一次未修改前比较相同,说明列表是可变数据类型 输出结果如下 1863920966280 [4, 3, 2, 1] 1863920966280

由于list是可变数据类型,所以有添加,修改,删除成员等操作

numbers = [1, 2, 3, 4]

# list添加成员
numbers.append(5)   # 添加成员5到列表最后
print(numbers)
numbers.insert(1, 0)    # 在列表下标为1的位置添加成员0
print(numbers)

输出结果如下
[1, 2, 3, 4, 5]
[1, 0, 2, 3, 4, 5]
numbers = [1, 2, 3, 4]

# list删除成员
del numbers[0]      # 删除下标0位置的元素,此时numbers = [2, 3, 4]
numbers.remove(2)   # 删除元素2,此时numbers = [3, 4]
numbers.pop(0)      # 删除下标0位置的元素,此时numbers = [4]
print(numbers)      # 打印numbers = [4]
# del numbers       # 把列表都删掉了

输出结果如下
[4]
numbers = [1, 2, 3, 4]

# list 修改元素值
numbers[0] = "one"  # 将下标0位置的元素重新赋值为"one"
print(numbers)      # 打印numbers = ["one", 2, 3, 4]

输出结果如下
['one', 2, 3, 4]
# 列表其他操作

numbers = [1, 2, 3, 4]

# list 查询成员
print(numbers[0])

# list元素个数
print(numbers.__len__())
print(len(numbers))

输出结果如下
1
4
4

四.小结

type      获取数据类型

id       查看在解释器中的内存地址

reverse()    列表反转

append(e)    添加成员到列表尾部

insert(index, e) 在指定下标位置插入元素

remove(e)   删除元素e

del e       删除元素e

pop(index)     删除指定下标位置的元素

len()         求列表的元素个数

__len__()      求列表的元素个数

posted @ 2019-04-26 21:03  sxlong_work  阅读(751)  评论(0编辑  收藏  举报