作文网站网址大全,中信建设有限责任公司电话打不通,wordpress注册的时候发送邮件,wordpress 自建主题这里写自定义目录标题 一、基本认识二、list与传统数组#xff08;以C为例#xff09;的联系与区别三、1维list切片规则四、2维list类似于2维数组#xff0c;但表达方式需适应五、list与元组的联系与区别1. tuple的创建方法类似于list#xff0c;tuple用#xff08;#… 这里写自定义目录标题 一、基本认识二、list与传统数组以C为例的联系与区别三、1维list切片规则四、2维list类似于2维数组但表达方式需适应五、list与元组的联系与区别1. tuple的创建方法类似于listtuple用表示2. tuple增加元素的方法 一、基本认识 Python本身没用传统意义上的数组但暂可把list看作数组数组每个元素类型可以是任意的不需要是同一类型但是也牺牲了数组的高效性 需要利用传统数组的高效性可在Python中import numpy的array
接下来从操作层面先认识一下list、tuple与传统数组的联系与区别
二、list与传统数组以C为例的联系与区别
C: 数组声明typeName arrayName[arraySize] 如float loans[20] 如果取元素最基础的方法就是按下标来操作如 float loans1loan[0] #提取first alement 认识与list容易混淆的是都用[ ],也是联系之处但是大部分语言基础的数组都不支持动态增加元素C实现动态数组可借助一些技术方法。
Python的list Python中列表list是一种有序、可变且可重复元素集合。 在list中的数据类型保存的是数据的存放的地址简单的说就是指针并非数据这样保存一个list就太麻烦了例如list1[1,2,3,‘a’]需要4个指针和四个数据引自https://www.php.cn/faq/424062.html 其它可参考https://blog.csdn.net/www_djh/article/details/134645540?spm1001.2014.3001.5502 牺牲了效率增加了灵活性 以下是关于Python列表的常见基本操作示例
list示例 stus[x,,2,y] #不需声明直接赋值
Traceback (most recent call last):File pyshell#0, line 1, in modulestus[x,,2,y]
NameError: name y is not definedy1stus[x,,2,y]通过下标index取元素 y1stus[x,,2,y]stus[0]
xstus[-1]
1查看某元素值在list的个数 stus.count(2)#因为直接输入元素本身当本身是数值时有时很难理解
1 #返回2这个元素出现了一次 查看某元素的index若有多个仅返回第一个index stus.index(2) #元素2的index
3在末端增加一个元素 stus.append(10) #append每次只增加一个元素stus
[x, , 2, 1, 10]stus.append([11,12,13])stus
[x, , 2, 1, 10, [11, 12, 13]]也可添加元组、集合等 stus.append((11,12,13))stus
[x, , 2, 1, 10, [11, 12, 13], (11, 12, 13)]stus.append({11,12,13})stus
[x, , 2, 1, 10, [11, 12, 13], (11, 12, 13), {11, 12, 13}]也可在指定下标处插入新值 stus.insert(0,3)stus
[3, x, , 2, 1, 10, [11, 12, 13], (11, 12, 13), {11, 12, 13}]如果待插入的位置正下标超出范围则插在末端负下标超出范围则在最开始添加
删除最后一个元素stus.pop并返回被删除的元素 stus.pop()
{11, 12, 13}stus.pop(1) #输入待删元素的index
x用remove元素无返回 stus
[3, , 2, 1, 10, [11, 12, 13], (11, 12, 13)]stus.remove()
SyntaxError: invalid syntaxstus.remove()stus
[3, 2, 1, 10, [11, 12, 13], (11, 12, 13)]用python 关键词命令del 删除某index的元素 stus
[3, 2, 1, 10, [11, 12, 13], (11, 12, 13)]del stus[6]
Traceback (most recent call last):File pyshell#26, line 1, in moduledel stus[6]
IndexError: list assignment index out of rangedel stus[5]stus
[3, 2, 1, 10, [11, 12, 13]]其它 stus.sort() #该list元素类型不支持排序
Traceback (most recent call last):File pyshell#30, line 1, in modulestus.sort()
TypeError: not supported between instances of list and int倒序 stus.reverse()stus
[[11, 12, 13], 10, 3, 2, 1]清空 stus.clear() 三、1维list切片规则
如 A [‘a’, ‘b’, ‘a’, 60, 20] 则A[::] 格式是 start_index:end_index:step 切片结果包含 start_index元素不包含end_index元素 因为step缺省为1往往被省略所以常见A[:] 如 A[:] 取全list A[:2] 从index0取到index2的元素 A[2:] 从index2取到末尾
这个东东初学容易与字典混在一起字典是包括在一对{ }内的 如dict {‘Alice’: ‘2341’, ‘Beth’: ‘9102’, ‘Cecil’: ‘3258’} dict {Alice: 2341, Beth: 9102, Cecil: 3258}dict[Alice] #也容易与在dataframe中的使用搞混好难啊
2341四、2维list类似于2维数组但表达方式需适应
C: 二维数组声明typeName arrayName[rowSize][columnSize] 如float loans[2][2] 而二维的list stuts_sheet[[‘a’,‘b’],[60,20]] 取元素 stuts_sheet[0][0]
a取行 stuts_sheet[0]
[a, b]好像只能用代码实现取列而且list每行元素可以不一样长 如 stuts_sheet[0].append(a)stuts_sheet
[[a, b, a], [60, 20]]extend可以把两个list合并 Astuts_sheet[0]Bstuts_sheet[1]A.extend(b)
Traceback (most recent call last):File pyshell#42, line 1, in moduleA.extend(b)
NameError: name b is not definedA.extend(B)A
[a, b, a, 60, 20]五、list与元组的联系与区别
tuple一旦创建它就不能改变了也就是说它也没有 append()insert() 这样的方法但它也有获取某个索引值的方法但是不能赋值。那么为什么要有 tuple 呢那是因为 tuple 是不可变的所以代码更安全。函数经常返回tuple。
1. tuple的创建方法类似于listtuple用表示 tup(aly,x)tup[1]
2x[3] tup[1] #没修改成功
22. tuple增加元素的方法
list可以用自己的append来添加元素。 Python元组是一种不可变的有序集合。 方法一 在Python中元组和字符串一样支持“”、“”运算符进行拼接操作。因此可以通过将一个元组与一个元素的元组相加. t(1,)t1(a,b)
Traceback (most recent call last):File pyshell#3, line 1, in modulet1(a,b)
NameError: name a is not definedt1(a,b)t2t1tt2
(a, b, 1)方法二 先转成list利用list的append增加元素再转回tuple t2
(a, b, 1)list1list(t2)list1.append(5)t3tuple(list1)t3
(a, b, 1, 5)方法三 使用元组解包这个方法的特点可以把元组元素设成某个变量添加进元组 t3
(a, b, 1, 5)var10t4(*t3,var)t4
(a, b, 1, 5, 10)