<h2>前言</h2>
<p>在我们实际开发中,经常需要将一组数据存储起来,以便使用。如果学习了其他的语言可能知道数组(Array)这个数据结构,它就可以将多个数据进行存储,访问数据可以通过数组下标的方式,的进行获取。如果你是python开发者,那么可以使用更加灵活的列表(list)和元组(tuple),来进行数据储存。下面我们先简单了解下列表和元组的基本使用。</p>
<h2>列表</h2>
<p>列表是动态的,长度可以改变,可以随意增加,修改或删除元素。</p>
<h3>初始化列表</h3>
<pre class="blockcode"><code class="language-python">a = list()
b = []
# 可以通过range快速创建list
c = list(range(1,6))
print("a:", a)
print("b:", b)
print("c:", c)
# a: []
# b: []
# c: [1, 2, 3, 4, 5]</code></pre>
<h3><strong>添加元素</strong></h3>
<p>append:在列表的末尾添加一个元素</p>
<pre class="blockcode"><code class="language-bash">>>l = []
>>l.append("python")
>>l
['python']</code></pre>
<p>extend:使用可迭代对象中的所有元素来扩展列表</p>
<pre class="blockcode"><code class="language-bash">>>l = ["python"]
>>t = ["java"]
>>l.extend(t)
>>l
['python', 'java']</code></pre>
<p>insert:在给定的位置插入一个元素。第一个参数是要插入的元素的索引,所以 list_name<code>.insert(0, x)</code> 插入列表头部</p>
<pre class="blockcode"><code class="language-bash">>>l = ["python", "java"]
>>l.insert(1,"go")
>>l
['python', 'go', 'java']</code></pre>
<h3><strong>删除元素</strong></h3>
<p>remove(x):从列表中删除值为x的第一项。 如果没有需要删除的值,那就抛出异常</p>
<pre class="blockcode"><code class="language-bash">>>l = ["python", "java"]
>>l.remove("java")
>>l
['python']
>>l.remove("test")
Traceback (most recent call last):
File "<input>", line 1, in <module>
ValueError: list.remove(x): x not in list
</code></pre>
<p>pop: 删除列表中给定位置的元素并返回它。如果没有给定位置,<code>pop()</code> 将会删除并返回列表中的最后一个元素</p>
<pre class="blockcode"><code class="language-bash">>>l = ["python", "java", "go"]
>>l.pop()
'go'
>>l
['python', 'java']
>>l.pop(1)
'java'
>>l.pop(1)
Traceback (most recent call last):
File "<input>", line 1, in <module>
IndexError: pop index out of range
</code></pre>
<p>del: Python 中的关键字,专门用来执行删除操作,它不仅可以删除整个列表,还可以删除列表中的某些元素</p>
<pre class="blockcode"><code class="language-bash">>>l = ["python", "java", "go", "js"]
>>del l[0:1]
>>l
['java', 'go', 'js']
>>del l[0]
>>l
['go', 'js']</code></pre>
<p>clear(): 移除列表中的所有元素。等价于 del a[:]</p>
<pre class="blockcode"><code class="language-bash">>>l = ["python", "java", "go", "js"]
>>l.clear()
>>l
[]</code></pre>
<p>ps: 这里注意和del 的区别, clear是清空, del list_name 是删除,内存也释放</p>
<h3><strong>修改元素</strong></h3>
<p>修改单个可以通过下标的方法</p>
<pre class="blockcode"><code class="language-bash">>>l = ["python", "go", "java"]
>>l[0] = "PYTHON"
>>l
['PYTHON', 'go', 'java']</code></pre>
<p>修改一组数据可以通过切片的方式</p>
<pre class="blockcode"><code class="language-bash">>>l = ["python", "go", "java"]
>>l[0:2] = "PYTHON", "GO"
>>l
['PYTHON', 'GO', 'java']
>>l[0:2] = ["python", "go"]
>>l
['python', 'go', 'java']</code></pre>
<h3><strong>查询元素</strong></h3>
<p>index(x) :方法用来查找某个元素在列表中出现的位置(也就是索引),如果该元素不存在,则会导致 ValueError 错误</p>
<pre class="blockcode"><code class="language-bash">>>l
['python', 'go', 'java']
>>l.index("python")
0
>>l.index("python1")
Traceback (most recent call last):
File "<input>", line 1, in <module>
ValueError: 'python1' is not in list</code></pre>
<p>count() :用来统计某个元素在列表中出现的次数</p>
<pre class="blockcode"><code class="language-bash">>>l
['python', 'go', 'java']
>>l.count("PYTHON")
0
>>l.count("python")
1</code></pre>
<h3><strong>其他操作</strong></h3>
<p>sort:对列表中的元素进行排序</p>
<pre class="blockcode"><code class="language-bash">>>l
['go', 'java', 'python']
> |
|