05 python 初学(列表)

列表,有点像c++里的数组

# _author: lily
# _date: 2018/12/16

mylist = ["xiaohong", "xiaogang", "xiaoming", "xiaoyun"]
print(mylist)
>>>['xiaohong', 'xiaogang', 'xiaoming', 'xiaoyun']

# 增删改查
# 查 切片
print(mylist[2])     # 取索引为2的元素
>>>xiaoming

print(mylist[1:3])   # 取索引从1到2的元素
>>>['xiaogang', 'xiaoming']

print(mylist[1:])    # 取到最后
>>>['xiaogang', 'xiaoming', 'xiaoyun']

print(mylist[1:-1])  # 取到倒数第二个
>>>['xiaogang', 'xiaoming']

print(mylist[1::2])  # 从左到最后一个隔一个取一个,步长为2
>>>['xiaogang', 'xiaoyun']

print(mylist[3::-1])  # 从索引为3的元素开始,从右往左取
>>>['xiaoyun', 'xiaoming', 'xiaogang', 'xiaohong']

# 增 append:直接在列表最后添加; insert:可插入到某个位置。 都是作为一个元素加入
# mylist.append("lily")
# print(mylist)
# >>>['xiaohong', 'xiaogang', 'xiaoming', 'xiaoyun', 'lily']

# mylist.insert(1, "lily")
# print(mylist)
# >>>['xiaohong', 'lily',  'xiaogang', 'xiaoming', 'xiaoyun']

#
# mylist[1] = "lily"
# print(mylist)
# ['xiaohong', 'lily', 'xiaoming', 'xiaoyun']

# mylist[1:3] = ["pipi", "lily"]
# print(mylist)
# >>>['xiaohong', 'pipi', 'lily', 'xiaoyun']

#
# remove: 直接通过元素名称进行删除操作
# pop: 通过索引去删除元素,并且会返回该元素的内容
# del: 并不是列表独有的,而是通用的删除方法
# mylist.remove("xiaohong")
# print(mylist)
# >>>['xiaogang', 'xiaoming', 'xiaoyun']

# element = mylist.pop(0)
# print(mylist)
# print("element is: %s" %(element))
# >>>['xiaogang', 'xiaoming', 'xiaoyun']
# >>>element is: xiaohong

# del mylist[0]
# print(mylist)
# >>>['xiaogang', 'xiaoming', 'xiaoyun']

# del mylist
# print(mylist)  
#会报错,因为 del 直接将变量删除了,变量不存在,无法进行输出

增:有append 和 insert 两种方法。

append 是直接在列表后面添加; insert 传入两个参数:要添加到的具体位置和值

删: remove ,pop ,del 三种

remove:传入具体的值来进行删除

pop: 通过索引号来删除元素,并返回删除元素的具体内容。

不指定索引默认会删最后一个

del: 通用的删除方法

clear:mylist.clear() 清空

改: 直接将对应位置的元素进行重新赋值即可,可以修改列表内一段元素的值

查: 取对应索引位置的元素;

取列表内一段索引内的元素

隔一定步长取元素

倒序输出元素

 

# 对列表进行遍历
y = ['x', 'u', 'j', 'Z', 'Q']
for i in y:
    print(i)

>>>x
>>>u
>>>j
>>>Z
>>>Q

 

enumerate 函数:给列表内的每一个元素增加一个序号,输出来是一个元组

for i in enumerate(y):
    print(i)

输出:
(0, 'x')
(1, 'u')
(2, 'j')
(3, 'Z')
(4, 'Q')

# 若 enumerate 后面传参数 1,即 enumerate(y, 1),则元素序号从 1 开始

 

当用两个变量去接收list里的两个值时,这两个值会分别赋给两个变量 (元组同理)

a, b = [1, 'lily']
print(a)
print(b)
>>> 1
>>> lily
# 因为 enumerate(y) 的每一个元素都是一个元组:(i, y[i]),因此用两# 个变量去接收它,元组内的每一个元素会赋值给对应的变量。
for i, v in enumerate(y):
    print(i, v)
输出:
0 x
1 u
2 j
3 Z
4 Q

 

 

 

列表的嵌套:

列表嵌套是列表每一个元素可以是任何类型,字符串、数字、列表、元组都可以。

c++ 里面的数组每一个元素都必须是同类型的,这一点很不一样。

a = [[1, 2, 3],'lily' ,46 , ('pencil', 999)] 

posted on 2018-12-16 23:16  mlllily  阅读(223)  评论(0编辑  收藏  举报