IC设计技术-编写python脚本快速批量生成verilog代码(2):列表的各种基础用法(一)

在编写脚本过程中,列表和字典是我们最最常用的数据结构,本篇文章对列表的基本使用方法做了总结,在此分享下。
总的来说,对列表的使用无非增、删、改、查、内建方法。

1. 创建列表

很easy 就这样创建好了。

my_list = [1, 199, 'hello', 'world']
print(my_list)

列表中的元素可以是很多数据类型,字符串、数字、列表、字典、元组DDDD(等等等等)

2. 查

查最常用的就是按索引来查找列表中的元素了。列表中的元素索引从左至右查是从0开始,从右往左查是从-1开始。
此外还可以使用切片来一次性访问列表中的若干个元素,切片访问需要注意的是,python中表示区间时是左闭右开区间,这一点在使用时一定要注意。
另外切片访问时可以在相应位置不写索引来表示一直索引到头,冒号左边不写代表左边的头,冒号右边不写代表右边的头。
话不多说上实验:

my_list = [1, 199, 'hello', 'world']
print(my_list)
 # 查
print(my_list[0])
print(my_list[-1])
print(my_list[-1:-2])
print(my_list[1:2])
print(my_list[1:3])
print(my_list[1:])
print(my_list[:1])
print(my_list[-1:])
print(my_list[:-1])

在这里插入图片描述
需要特别注意第四个结果,索引的相对位置一定不能搞错,冒号左边是切片相对靠左的索引,冒号右边是相对靠右的索引,搞反了那就是空列表了。

3. 增

list.append()是很常用的一种增加元素方法,作用是在列表末尾增加一个元素,注意,是一个

my_list = [1, 199, 'hello', 'world']
print(my_list)
# 增
my_list.append(999)
print(my_list)
my_list.append(['goodbye', 'my love'])
print(my_list)

结果如下
在这里插入图片描述
可以看到,第二次append本来我是想增加‘goodbye’ , ‘my love’两个元素,但实际效果确实增加恶一个包含这两个元素的列表。
那么我想一次增加好几个元素怎么办嘞?用list.extend()

my_list = [1, 199, 'hello', 'world']
print(my_list)
# 增
my_list.append(999)
print(my_list)
my_list.append(['goodbye', 'my love'])
print(my_list)
my_list.extend(['goodbye', 'my love'])
print(my_list)

结果如下
在这里插入图片描述
那如果我不想在列表末尾加,想在任意位置插入呢?用list.insert(index, obj), 这里要注意这样插入的时候obj是被插在index的左边的。

my_list = [1, 199, 'hello', 'world']
print(my_list)
my_list.insert(1, 'TheShy YYDS')
print(my_list)

结果如下:
在这里插入图片描述

4. 改

改就很简单了,按照按查的方法找到需要修改的元素,赋一个新值。

my_list = [1, 199, 'hello', 'world']

my_list[-1] = 'mountain'
print(my_list)

在这里插入图片描述

5. 删

删的方法主要用list.pop(index)和list.remove(obj),pop是按索引来删除元素的,默认情况下是把列表最后一个元素删除。remove是按元素的值来删除的。

my_list = [1, 199, 'hello', 'world', 'nihao', 'TheShy YYDS']
my_list.pop()
print(my_list)
my_list.pop(0)
print(my_list)
my_list.remove(199)
print(my_list)

结果如下:
在这里插入图片描述

6. 其他常用方法和技巧

6.1 查看列表列表中是否存在某个元素

可以使用in来判断

my_list = [1, 199, 'hello', 'world', 'nihao', 'TheShy YYDS']
print('hello' in my_list)
print(299 in my_list)

结果如下
在这里插入图片描述

6.2 找出列表中某个元素对应的索引

知道了列表中存在我想找的元素,那么如何获得该元素所在位置呢?用list.index(obj)方法。

my_list = [1, 199, 'hello', 'world', 'nihao', 'TheShy YYDS']
print(my_list.index('hello'))

运行结果:
在这里插入图片描述

6.3 获取列表的长度

用len()函数

my_list = [1, 199, 'hello', 'world', 'nihao', 'TheShy YYDS']
print(len(my_list))

结果:
在这里插入图片描述
如果列表嵌套了列表或者其他的集合呢?len会输出什么?

my_list = [1, [2, 3, 4], 199, ['wtf', 1], (2, []), 'hello', 'world', 'nihao', 'TheShy YYDS']
print(len(my_list))

结果:
在这里插入图片描述
可以看到len()并不管列表中的元素是啥,是集合还是单个元素,只给出元素的个数。
那如果是一个多层嵌套列表,想要快速获取各个维度大小,以及该列表总共有多少个元素怎么办嘞?这时候要用numpy了,看下面。

6.4 获取多层嵌套列表的维度及总元素个数

import numpy as np
my_list1 = [[[1, 2, 3], [4, 5, 6], [7, 8, 9]], [[1, 2, 3], [4, 5, 6], [7, 8, 9]], [[1, 2, 3], [4, 5, 6], [7, 8, 9]],
            [[1, 2, 3], [4, 5, 6], [7, 8, 9]]]
print(np.array(my_list1).size)
print(np.array(my_list1).shape)

结果如下
在这里插入图片描述
可以看出来,size获取总个数,shape获取各个维度大小,而且对应维度是从外往里的。

6.5 列表元素排序、获得最大值最小值

话不多说看代码

my_list2 = [1, 2.1, 199, 0, 45, 3.14]
my_list2.sort()
print(my_list2)
my_list2.sort(reverse=True)
print(my_list2)
print(max(my_list2), min(my_list2))

在这里插入图片描述
就这些啦,后边遇到列表新用法再补充。

  • 19
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值