Python 集合之旅

Python递归与集合操作的探索之旅 本篇博客深入探讨了Python中递归技术的运用以及集合类型的操作方法。我们通过计算阶乘、斐波那契数列、最大公约数和最小公倍数来理解递归的原理和实现方式。同时,也展示了如何使用Python进行列表、元组、集合和字典等数据结构的操作。 阅读详情

在本教程中,我将介绍 Python 中几种不同类型的集合。

在开始之前,让我们定义什么是集合。集合类似于您可以从中添加和删除项目的篮子。在某些情况下,它们是相同类型的项目,而在其他情况下,它们是不同的。基本上,它是一个允许您收集东西的存储结构。

例如,您可能有一种汽车类型。您创建了汽车的多个实例,并希望通过某种方式将所有这些汽车组合在一起并轻松访问它们。这是收藏的完美场景。

该集合将在内存中存在。您不需要构建集合或创建任何类型的脚手架。所有这些都是免费提供的。只需创建一个集合实例并开始添加您的汽车。准备好后,您可以按名称或索引(集合中的位置)将它们拉出。

Python 提供了几种内置类型,它们属于称为集合的模糊类别。虽然 Python 中没有调用正式的类型collection,但有列表、映射和集合。

在本教程中,我们将介绍以下类型:

  • 列表
  • 字符串
  • 字典
  • 套

列表

Python 中的列表是一种称为序列的内置类型。List 是可变的,允许您添加相同类型或不同类型的项目,使它们成为非常通用的构造。Python 列表类似于其他语言中的数组。

Python 列表确实允许您拥有非唯一元素。

以下是创建列表并向其中添加项目的示例:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">alist <span style="color:#89ddff">=</span> <span style="color:#c792ea">[</span><span style="color:#c3e88d">"item1"</span><span style="color:#c792ea">,</span> <span style="color:#c3e88d">"item2"</span><span style="color:#c792ea">,</span> <span style="color:#f78c6c">4</span><span style="color:#c792ea">]</span></code></span></span>

请注意,该列表是异构的,包含字符串和数字类型。

要从列表中检索项目,只需引用该项目的索引。Python 列表是零索引的。如果我想要最后一项,即位置 3,我需要使用索引 2:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">alist<span style="color:#c792ea">[</span><span style="color:#f78c6c">2</span><span style="color:#c792ea">]</span>
<span style="color:#89ddff">></span> <span style="color:#f78c6c">4</span></code></span></span>

返回数字 4。引用列表项时,只需从其位置减去 1 即可获得正确的索引值。

可以使用以下len命令检查列表的长度:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-none">len(alist))
> 3</code></span></span>

要将更多项目添加到列表中,请使用以下append()功能:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">alist<span style="color:#c792ea">.</span>append<span style="color:#c792ea">(</span><span style="color:#ff5874">False</span><span style="color:#c792ea">)</span>
<span style="color:#82aaff">len</span><span style="color:#c792ea">(</span>alist<span style="color:#c792ea">)</span>
<span style="color:#89ddff">></span> <span style="color:#f78c6c">4</span></code></span></span>

我们将列表增加了一个并添加了一种不同的类型——布尔值。该列表根本没有抱怨。

我们可以通过调用删除元素remove():

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-none">alist.remove("item2")</code></span></span>

remove()不返回值。该列表将更新,现在包含三个项目:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python"><span style="color:#c792ea">[</span><span style="color:#c3e88d">'item1'</span><span style="color:#c792ea">,</span> <span style="color:#f78c6c">4</span><span style="color:#c792ea">,</span> <span style="color:#ff5874">False</span><span style="color:#c792ea">]</span></code></span></span>

还有其他几种方法可以将项目从列表中取出。我们看到了如何使用它的索引来访问一个项目。如果我访问索引 2,我将得到第 3 项:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-none">thevalue = alist[2]
print(thevalue)
> False</code></span></span>

上面的代码将为我们提供该项目的副本。该项目仍在列表中。总列表计数不受影响。

但是,如果我们使用pop(),我们会得到该项目,但它也会从列表中删除:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">thevalue <span style="color:#89ddff">=</span> alist<span style="color:#c792ea">.</span>pop<span style="color:#c792ea">(</span><span style="color:#f78c6c">1</span><span style="color:#c792ea">)</span>
print<span style="color:#c792ea">(</span>thevalue<span style="color:#c792ea">)</span>
<span style="color:#89ddff">></span> <span style="color:#f78c6c">4</span>
print<span style="color:#c792ea">(</span><span style="color:#c3e88d">"after pop"</span><span style="color:#c792ea">,</span> alist<span style="color:#c792ea">)</span>
<span style="color:#89ddff">></span> <span style="color:#c792ea">[</span><span style="color:#c3e88d">'item1'</span><span style="color:#c792ea">,</span> <span style="color:#ff5874">False</span><span style="color:#c792ea">]</span></code></span></span>

列表也可以排序。如果我有以下字符串列表:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-none">alpha = ["z", "b", "a", "c"]</code></span></span>

您可以使用以下sort()命令对其进行排序:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">alpha<span style="color:#c792ea">.</span>sort<span style="color:#c792ea">(</span><span style="color:#c792ea">)</span></code></span></span>

sort()不返回值。不过,alpha现在是排序的。您可以通过打印列表来查看:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">print<span style="color:#c792ea">(</span>alpha<span style="color:#c792ea">)</span></code></span></span>

通过调用可以很容易地反转元素reverse():

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">alpha<span style="color:#c792ea">.</span>reverse<span style="color:#c792ea">(</span><span style="color:#c792ea">)</span></code></span></span>

reverse() 也不返回值,并将反转当前列表。

字符串是列表吗?

字符串与列表有一些相似之处。但是,字符串是不可变的,而列表是可变的。

字符串像列表一样基于索引。您还可以获取字符串中的字符数,就像您可以获取列表中的项目数一样。

例如:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">mystring <span style="color:#89ddff">=</span> <span style="color:#c3e88d">"The quick brown fox."</span> 
print<span style="color:#c792ea">(</span><span style="color:#82aaff">len</span><span style="color:#c792ea">(</span>mystring<span style="color:#c792ea">)</span><span style="color:#c792ea">)</span> 
<span style="color:#89ddff">></span> <span style="color:#f78c6c">20</span>
print<span style="color:#c792ea">(</span>mystring<span style="color:#c792ea">[</span><span style="color:#f78c6c">4</span><span style="color:#c792ea">]</span><span style="color:#c792ea">)</span>
<span style="color:#89ddff">></span> q</code></span></span>

与列表不同,您不能通过附加来添加另一个字符。您也不能更新字符串中的特定元素。

请注意,如果我们尝试将字符分配给字符串中的特定位置会发生什么:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">mystring<span style="color:#c792ea">[</span><span style="color:#f78c6c">4</span><span style="color:#c792ea">]</span> <span style="color:#89ddff">=</span> <span style="color:#c3e88d">'z'</span>
<span style="color:#89ddff">></span> TypeError<span style="color:#c792ea">:</span> <span style="color:#c3e88d">'str'</span> <span style="color:#82aaff">object</span> does not support item assignment</code></span></span>

这就是字符串的不可变部分发挥作用的地方。

根据字符串,我们可以将字符串转换为列表。从上面获取我们的mystring变量。如果我们split()是字符串,它将默认按空格分割:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">stringlist <span style="color:#89ddff">=</span> mystring<span style="color:#c792ea">.</span>split<span style="color:#c792ea">(</span><span style="color:#c792ea">)</span>
stringlist
<span style="color:#89ddff">></span><span style="color:#c792ea">[</span><span style="color:#c3e88d">'The'</span><span style="color:#c792ea">,</span> <span style="color:#c3e88d">'quick'</span><span style="color:#c792ea">,</span> <span style="color:#c3e88d">'brown'</span><span style="color:#c792ea">,</span> <span style="color:#c3e88d">'fox.'</span><span style="color:#c792ea">]</span>
<span style="color:#82aaff">type</span><span style="color:#c792ea">(</span>stringlist<span style="color:#c792ea">)</span>
<span style="color:#89ddff">></span><span style="color:#89ddff"><</span>class <span style="color:#c3e88d">'list'</span><span style="color:#89ddff">></span></code></span></span>

字符串中的每个单词都成为列表中的一个元素。我们还可以看到,类型显然是一个列表。

如果字符串没有空格,我们仍然可以拆分它。但结果会是什么?让我们检查一下:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">mystring2 <span style="color:#89ddff">=</span> <span style="color:#c3e88d">"Thequickbrownfox."</span> 
stringlist2 <span style="color:#89ddff">=</span> mystring2<span style="color:#c792ea">.</span>split<span style="color:#c792ea">(</span><span style="color:#c792ea">)</span>
stringlist2
<span style="color:#82aaff">type</span><span style="color:#c792ea">(</span>stringlist2<span style="color:#c792ea">)</span>
<span style="color:#89ddff">></span><span style="color:#c792ea">[</span><span style="color:#c3e88d">'Thequickbrownfox.'</span><span style="color:#c792ea">]</span>
<span style="color:#89ddff">></span><span style="color:#89ddff"><</span>class <span style="color:#c3e88d">'list'</span><span style="color:#89ddff">></span></code></span></span>

我们仍然得到一个列表,但这次只有一个元素。最终,在这种情况下拆分字符串并没有多大用处。

映射

映射是另一种内置类型。Python 中唯一可用的映射是字典。字典是基于键/值的。与基于索引的列表不同,我们不使用索引访问字典值。相反,我们使用键访问值。

创建字典类似于创建列表,除了添加键/值对而不是单个项目。这是一个例子:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">mydictionary <span style="color:#89ddff">=</span> <span style="color:#c792ea">{</span><span style="color:#c3e88d">"item1"</span><span style="color:#c792ea">:</span><span style="color:#f78c6c">45</span><span style="color:#c792ea">,</span> <span style="color:#c3e88d">"item2"</span><span style="color:#c792ea">:</span><span style="color:#f78c6c">76</span><span style="color:#c792ea">,</span> <span style="color:#c3e88d">"item3"</span><span style="color:#c792ea">:</span><span style="color:#f78c6c">145</span><span style="color:#c792ea">}</span></code></span></span>

每个键/值由冒号分隔。第一部分是键,第二部分是值。在第一项中,item1是键,45是值。另外,请注意我们使用大括号而不是括号来包围我们的项目。

从字典中获取项目时,我们考虑的是键,因为通过索引访问是不可能的。如果我们想要item2,我们使用:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">mydictionary<span style="color:#c792ea">[</span><span style="color:#c3e88d">"item2"</span><span style="color:#c792ea">]</span>
<span style="color:#89ddff">></span> <span style="color:#f78c6c">76</span></code></span></span>

我们可以检查字典的长度,就像检查列表的长度一样:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python"><span style="color:#82aaff">len</span><span style="color:#c792ea">(</span>mydictionary<span style="color:#c792ea">)</span>
<span style="color:#89ddff">></span> <span style="color:#f78c6c">3</span></code></span></span>

要更新item2,我们使用执行以下操作:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">mydictionary<span style="color:#c792ea">[</span><span style="color:#c3e88d">"item2"</span><span style="color:#c792ea">]</span> <span style="color:#89ddff">=</span> <span style="color:#f78c6c">100</span></code></span></span>

添加项目与更新的语法相同:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">mydictionary<span style="color:#c792ea">[</span><span style="color:#c3e88d">"item62"</span><span style="color:#c792ea">]</span> <span style="color:#89ddff">=</span> <span style="color:#f78c6c">433</span></code></span></span>

item62 现在存在于字典中,并且总数增加了一个。

字典项可以通过引用特定键来删除:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">del mydictionary<span style="color:#c792ea">[</span><span style="color:#c3e88d">"item2"</span><span style="color:#c792ea">]</span></code></span></span>

item2现在已删除。如您所见,字典操作相当简单。

如前所述,字典具有键/值对。如果您只想访问密钥,可以这样做:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">mydictionary<span style="color:#c792ea">.</span>keys<span style="color:#c792ea">(</span><span style="color:#c792ea">)</span>
<span style="color:#89ddff">></span> dict_keys<span style="color:#c792ea">(</span><span style="color:#c792ea">[</span><span style="color:#c3e88d">'item3'</span><span style="color:#c792ea">,</span> <span style="color:#c3e88d">'item1'</span><span style="color:#c792ea">,</span> <span style="color:#c3e88d">'item62'</span><span style="color:#c792ea">]</span><span style="color:#c792ea">)</span></code></span></span>

值的访问方式相同:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">mydictionary<span style="color:#c792ea">.</span>values<span style="color:#c792ea">(</span><span style="color:#c792ea">)</span>
<span style="color:#89ddff">></span> dict_values<span style="color:#c792ea">(</span><span style="color:#c792ea">[</span><span style="color:#f78c6c">145</span><span style="color:#c792ea">,</span> <span style="color:#f78c6c">45</span><span style="color:#c792ea">,</span> <span style="color:#f78c6c">433</span><span style="color:#c792ea">]</span><span style="color:#c792ea">)</span></code></span></span>

套

集合是不能有重复元素的无序集合。无法对集合进行排序。该sort()方法不适用于集合。

与列表相比,集合可以比列表更快地检查元素的存在。

要创建一个集合,只需执行以下操作:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">myset <span style="color:#89ddff">=</span> <span style="color:#c792ea">{</span><span style="color:#f78c6c">3</span><span style="color:#c792ea">,</span><span style="color:#f78c6c">4</span><span style="color:#c792ea">,</span><span style="color:#f78c6c">5</span><span style="color:#c792ea">,</span><span style="color:#f78c6c">1</span><span style="color:#c792ea">}</span></code></span></span>

或者使用 set 方法并提供现有结构。例如:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">mylist <span style="color:#89ddff">=</span> <span style="color:#c792ea">[</span><span style="color:#f78c6c">0</span><span style="color:#c792ea">,</span><span style="color:#f78c6c">1</span><span style="color:#c792ea">,</span><span style="color:#f78c6c">5</span><span style="color:#c792ea">,</span><span style="color:#f78c6c">4</span><span style="color:#c792ea">,</span><span style="color:#f78c6c">3</span><span style="color:#c792ea">,</span><span style="color:#f78c6c">7</span><span style="color:#c792ea">,</span><span style="color:#f78c6c">6</span><span style="color:#c792ea">,</span><span style="color:#f78c6c">6</span><span style="color:#c792ea">]</span>
myset <span style="color:#89ddff">=</span> <span style="color:#82aaff">set</span><span style="color:#c792ea">(</span>mylist<span style="color:#c792ea">)</span>
<span style="color:#89ddff">></span><span style="color:#c792ea">{</span><span style="color:#f78c6c">0</span><span style="color:#c792ea">,</span> <span style="color:#f78c6c">1</span><span style="color:#c792ea">,</span> <span style="color:#f78c6c">3</span><span style="color:#c792ea">,</span> <span style="color:#f78c6c">4</span><span style="color:#c792ea">,</span> <span style="color:#f78c6c">5</span><span style="color:#c792ea">,</span> <span style="color:#f78c6c">6</span><span style="color:#c792ea">,</span> <span style="color:#f78c6c">7</span><span style="color:#c792ea">}</span></code></span></span>

由于集合只能包含唯一的项目,请注意其中一个重复6的 s 已被删除。Usingset()非常适合从现有数据创建独特的项目集合。

如果我尝试添加6背面,它没有任何效果:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">myset<span style="color:#c792ea">.</span>add<span style="color:#c792ea">(</span><span style="color:#f78c6c">6</span><span style="color:#c792ea">)</span>
<span style="color:#89ddff">></span><span style="color:#c792ea">{</span><span style="color:#f78c6c">0</span><span style="color:#c792ea">,</span> <span style="color:#f78c6c">1</span><span style="color:#c792ea">,</span> <span style="color:#f78c6c">3</span><span style="color:#c792ea">,</span> <span style="color:#f78c6c">4</span><span style="color:#c792ea">,</span> <span style="color:#f78c6c">5</span><span style="color:#c792ea">,</span> <span style="color:#f78c6c">6</span><span style="color:#c792ea">,</span> <span style="color:#f78c6c">7</span><span style="color:#c792ea">}</span></code></span></span>

要从集合中删除元素,可以调用该remove()方法:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">myset<span style="color:#c792ea">.</span>remove<span style="color:#c792ea">(</span><span style="color:#f78c6c">4</span><span style="color:#c792ea">)</span></code></span></span>

4不再在myset。

集合也不支持索引。尝试访问集合中的元素会抛出错误:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">myset<span style="color:#c792ea">[</span><span style="color:#f78c6c">2</span><span style="color:#c792ea">]</span>
<span style="color:#89ddff">></span>TypeError<span style="color:#c792ea">:</span> <span style="color:#c3e88d">'set'</span> <span style="color:#82aaff">object</span> does not support indexing</code></span></span>

集合有一些独特的方法。如果您熟悉集合的数学运算(差、交和并),这些方法对您来说是众所周知的。

我们将从difference(). 假设我有这两组:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">set1 <span style="color:#89ddff">=</span> <span style="color:#c792ea">{</span><span style="color:#f78c6c">1</span><span style="color:#c792ea">,</span><span style="color:#f78c6c">3</span><span style="color:#c792ea">,</span><span style="color:#f78c6c">6</span><span style="color:#c792ea">,</span><span style="color:#f78c6c">7</span><span style="color:#c792ea">}</span>
set2 <span style="color:#89ddff">=</span> <span style="color:#c792ea">{</span><span style="color:#f78c6c">1</span><span style="color:#c792ea">,</span><span style="color:#f78c6c">3</span><span style="color:#c792ea">,</span><span style="color:#f78c6c">6</span><span style="color:#c792ea">,</span><span style="color:#f78c6c">8</span><span style="color:#c792ea">,</span><span style="color:#f78c6c">10</span><span style="color:#c792ea">}</span></code></span></span>

使用set1,与 的区别set2是7。7在set1但不在set2。在 Python 中,这如下所示:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">set1<span style="color:#c792ea">.</span>difference<span style="color:#c792ea">(</span>set2<span style="color:#c792ea">)</span>
<span style="color:#89ddff">></span><span style="color:#c792ea">{</span><span style="color:#f78c6c">7</span><span style="color:#c792ea">}</span></code></span></span>

走另一条路:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">set2<span style="color:#c792ea">.</span>difference<span style="color:#c792ea">(</span>set1<span style="color:#c792ea">)</span>
<span style="color:#89ddff">></span><span style="color:#c792ea">{</span><span style="color:#f78c6c">8</span><span style="color:#c792ea">,</span> <span style="color:#f78c6c">10</span><span style="color:#c792ea">}</span></code></span></span>

如何找到两组中的共同点:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">set1<span style="color:#c792ea">.</span>intersection<span style="color:#c792ea">(</span>set2<span style="color:#c792ea">)</span>
<span style="color:#89ddff">></span><span style="color:#c792ea">{</span><span style="color:#f78c6c">1</span><span style="color:#c792ea">,</span> <span style="color:#f78c6c">3</span><span style="color:#c792ea">,</span> <span style="color:#f78c6c">6</span><span style="color:#c792ea">}</span></code></span></span>

最后,将两个集合组合起来创建一个新集合:

<span style="background-color:#292d3e"><span style="color:#bfc7d5"><code class="language-python">set3 <span style="color:#89ddff">=</span> set1<span style="color:#c792ea">.</span>union<span style="color:#c792ea">(</span>set2<span style="color:#c792ea">)</span>
<span style="color:#89ddff">></span><span style="color:#c792ea">{</span><span style="color:#f78c6c">1</span><span style="color:#c792ea">,</span> <span style="color:#f78c6c">3</span><span style="color:#c792ea">,</span> <span style="color:#f78c6c">6</span><span style="color:#c792ea">,</span> <span style="color:#f78c6c">7</span><span style="color:#c792ea">,</span> <span style="color:#f78c6c">8</span><span style="color:#c792ea">,</span> <span style="color:#f78c6c">10</span><span style="color:#c792ea">}</span></code></span></span>

联合集包括两个集中的所有项目。

概括

我们已经浏览了 Python 列表、字符串(虽然不是序列)、字典和集合。我们已经研究了所有人的具体操作和独特能力。我希望本教程进一步增强了您对 Python 集合的了解。如果对Python有兴趣,想了解更多的Python以及AIoT知识,解决测试问题,以及入门指导,帮你解决学习Python中遇到的困惑,我们这里有技术高手。如果你正在找工作或者刚刚学校出来,又或者已经工作但是经常觉得难点很多,觉得自己Python方面学的不够精想要继续学习的,想转行怕学不会的, 都可以加入我们,可领取最新Python大厂面试资料和Python爬虫、人工智能、学习资料!微信公众号【Python大本营】等你来玩奥~

华为灵衢UB总线介绍 华为发布"灵衢"(UB)超节点互联协议,旨在构建支持AI大模型计算的基础设施。该协议采用统一内存语义和对等架构,使设备可直接访问远程内存,实现资源池化。技术突破包括2.1微秒超低时延和TB级带宽,支持64节点、52万张昇腾卡的集群互联。相比传统RDMA,"灵衢"更注重系统级资源调度,而非单纯数据传输。华为开放技术规范,推动生态建设,已有厂商开发兼容IP核。"灵衢"可适应x86、RISC-V等架构,未来将扩展至百万卡规模集群。 阅读详情

相关推荐

05-SA8155 QNX Display框架及代码分析(1)

显示是非常重要的一个模块,人机交互的桥梁。那么SA8155 Hypervisor显示是如何处理的呢。对处理流程非常的好奇O(∩_∩)O哈哈~。TODO。

静虚待令,有物混成 1万+

Python筑基之旅-集合

集合

ygb_1024的博客 1651

均值回归 高频交易_基于布林带的均值回归交易策略

BOLL指标是美国股市分析家约翰·布林根据统计学中的标准差原理设计出来的一种非常简单实用的技术分析指标。一般而言,股价的运动总是围绕某一价值中枢(如均线、成本线等)在一定的范围内变动,布林线指标正是在上述条件的基础上,引进了“股价通道”的概念,其认为股价通道的宽窄随着股价波动幅度的大小而变化,而且股价通道又具有变异性,它会随着股价的变化而自动调整。由于之前大部分交易策略都是选股或者趋势追踪的择时,...

weixin_42528534的博客 1459

最新Python 集合之旅(4)

字符串与列表有一些相似之处。但是,字符串是不可变的,而列表是可变的。字符串像列表一样基于索引。您还可以获取字符串中的字符数,就像您可以获取列表中的项目数一样。printlenmystring20printmystring4q与列表不同,您不能通过附加来添加另一个字符。您也不能更新字符串中的特定元素。TypeError‘str’object这就是字符串的不可变部分发挥作用的地方。根据字符串,我们可以将字符串转换为列表。从上面获取我们的mystring变量。如果我们。

2401_84689860的博客 850

Centos7.6下安装Zabbix6

一、

Overmaster博客 1908

【信息安全】seed-labs实验-Firewall Exploration Lab

本实验主要就是基于LKM和Netfilter实现简单的防火墙,重点是后者。路由器是有两个ip的,一个是外网ip,一个是内网ip每一次做完实验,都要做好收尾工作(比如:模块装入之后,要记得移除;iptables命令设置完规则之后,要把对应规则删掉)

可乐大牛的博客 5997

最新Python 集合之旅(1)

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。基本上主流的和经典的都有,这里我就不放图了,版权问题,个人看看是没有问题的。

2401_84689803的博客 865

无人机蜂群作战设计技术详解

构建防御网络,拦截敌方无人机或导弹;无人机蜂群作战设计技术是一种创新的军事应用概念,它基于生物仿生学原理,通过先进的通信技术、自主导航与决策算法,将大量小型、低成本、功能各异的无人机组织成一个高度协同的群体,以执行复杂多样的军事任务。无人机蜂群作战的概念源于自然界中蜜蜂、蚂蚁等生物群体的行为模式,这些生物群体通过简单的个体间的信息交互和分工协作,能够完成远远超出单一个体能力的复杂任务。其中,无人机群体是执行任务的主体,指挥控制系统负责任务分配和决策,通信数据链则保障无人机群体与指挥控制系统之间的信息交换。

专注多旋翼、复合翼无人机技术研究,从事低空经济行业。 2217

Python之旅:集合

Python数据类型 #作用:去重,关系运算, #定义: 知识点回顾 可变类型是不可hash类型 不可变类型是可hash类型 #定义集合: 集合:可以包含多个元素,用逗号分割, 集合的元素遵循三个原则: 1:每...

weixin_30666943的博客 92

让 RAP 弹窗参数真正变成必填:Excel Upload Action 的两种实现路径

摘要 在RAP应用中,action弹窗参数经常缺乏必填校验,导致用户体验差。本文提出两种解决方案:1)在action实现中手动校验,简单但交互不流畅;2)通过root abstract entity和abstract BDEF建模,利用field(mandatory)实现框架级校验,推荐此长期方案。后者将约束集中到模型层,使UI与执行期校验一致,特别适合ABAP Cloud环境。以Excel导入为例,强制填写备注和明确选择试运行,可避免审计问题,提升系统可靠性。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 200

【GEE数据库】WRF常用数据集总结

【GEE数据库】WRF常用数据集总结

WW、forever的博客 638

小白的python之旅(九)----集合的操作

小白的python之旅(九)----集合的操作 # 集合 set{} {元素1,元素2,元素3,......} # 集合是可变的(支持增删改);集合是无序的 # 集合中元素是不可变的并且唯一 所以只能是数字,字符串,元组 ,元素是列表,字典,集合则不行 empty = set() # 空字典 set1 = {1, 23, 123} set2 = {1, 2, 3, 3, 4, 7, 1, 1} print(set2) # {1, 2, 3, 4, 7} 可以用来去重 print({1, 2,

qq_43201913的博客 147

【x265编码器】章节1——x265的lookahead模块分析

目录一、模块功能二、lookahead模块分析1.调用流程2.代码分析Lookahead::addPicture()Lookahead::checkLookaheadQueue()Lookahead::getDecidedPicture()Lookahead::findJob()Lookahead::slicetypeDecide()PreLookaheadGroup::processTasksLookaheadTLD::lowresIntraEstimate()Lookahead::slicetypeAn

vcvdv123的博客 4万+

python之旅(三)—— 列表、元组、字典、集合、字符串

python学习之旅(三)1. 列表1.1 创建列表1.2 访问列表1.3 更新列表1.3.1 增加列表元素 在这一篇中,我将会对列表、元组、字典、集合的增、删、改、查操作进行学习,以及对字符串的各种操作进行简单地整合。 1. 列表 列表中的元素个数与元素内容都是可以改变的。我们可以通过列表来对数据进行批量操作。下面将讲讲列表的创建、访问与更新。 1.1 创建列表 创建列表的语法格式如下: 方法1...

qingtian_111的博客 981

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

2024年Python最全Python 集合之旅(2)

不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~给大家准备的学习资料包括但不限于:Python 环境、pycharm编辑器/永久激活/翻译插件python 零基础视频教程Python 界面开发实战教程Python 爬虫实战教程Python 数据分析实战教程python 游戏开发实战教程Python 电子书100本。

2401_84558388的博客 677

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

2024年最新Python 集合之旅(3)

可以使用以下len3要将更多项目添加到列表中,请使用以下append()lenalist4我们将列表增加了一个并添加了一种不同的类型——布尔值。该列表根本没有抱怨。我们可以通过调用删除元素remove()不返回值。还有其他几种方法可以将项目从列表中取出。我们看到了如何使用它的索引来访问一个项目。False上面的代码将为我们提供该项目的副本。该项目仍在列表中。总列表计数不受影响。但是,如果我们使用pop()printthevalue4printalist‘item1’

2301_82243979的博客 114

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

5分钟上手Python分形艺术:从曼德博集合到科赫雪花的编程之旅

Python分形艺术是探索数学与编程之美的绝佳途径。本文将带你快速掌握两种经典分形图案——曼德博集合和科赫雪花的生成方法,无需深厚的数学背景,只需基础Python知识即可开启创作之旅。通过分形算法,你将发现简单代码如何创造出无限复杂的图案,体验编程艺术的魅力。 ## 什么是分形艺术? 分形(Fractal)是一种具有自相似性的几何形状,在不同尺度下呈现出相似的结构。这种神奇的特性使得分形图案在

gitblog_00312的博客 1242

AI作为认知主体的新风险:信任、依赖与责任边界

随着大模型与智能体系统从被动工具演变为具备规划、调用工具和参与决策能力的认知主体,人机关系正经历深层重构。传统软件工程中的可靠性假设不再适用,系统输出的权威感可能掩盖底层事实错误,长期使用还会引发人类判断力外包、自动化偏差、偏见固化以及责任追溯困难等问题。理解认知主体的运行原理,有助于在架构设计阶段引入可审计日志、人工干预节点与对抗性测试等工程手段,构建安全可控的协作流程。无论是智能体工作流、内容生成还是自动化决策,都需要重新评估信任机制与责任边界。本文聚焦AI系统承担任务时面临的几类核心风险,给出面向实践

weixin_33895657的博客 262

从Python到NumPy:探索Mandelbrot集合与分形维数计算的科学可视化之旅

在数据科学和科学计算领域,NumPy是一个不可或缺的强大工具。它提供了高效的数组操作和数学函数,使得复杂的科学计算变得简单而快速。本文将带您深入了解如何使用NumPy进行科学可视化,重点介绍Mandelbrot集合的生成和分形维数的计算方法。通过这些实例,您将看到NumPy如何帮助我们将复杂的数学概念转化为直观的视觉图像。 ## 什么是分形?自然界中的自相似性 分形是一种具有自相似性的几何形状

gitblog_00493的博客 1200

《Python零基础快乐学习之旅》学习笔记10——集合(set)

文章目录第10章 集合(set)10.1 创建集合10.1.1 使用大括号创建集合10.1.2 使用set()函数定义集合10.2 集合的操作10.2.1 交集(intersection)10.2.2 并集(union)10.2.3 差集(difference)10.2.4 是否成员(in) 第10章 集合(set) 集合的基本概念是无序且每个元素都是唯一的,集合元素的内容是不可变的,常见的元素有整数、浮点数、字符串、元组等。而可变内容如列表、字典、集合等,不可以作为集合的元素。但集合本身是可变的,可以增加

梦里逆天的博客 892

【Python之旅】第二篇(七):集合

说明:·类似于数学中学的集合,Python中的集合可以实现去重的功能,通过set()函数来实现:·sets支持x in set, len(set)和 for x in set;·作为一个无序的集合,sets 不记录元素位置或者插入点,因此,sets不支持indexing, slicing,或其它类序列(sequence-like)的操作;·学习集合,主要是学习集合的一系列标准操作:集合创建、集合添...

weixin_34319374的博客 143

Python之旅Day2 元组 字符串 字典 集合

元组(tuple)   元组其实跟列表差不多,也是存一组数,与列表相比,元组一旦创建,便不能再修改,所以又叫只读列表。  语法: names = ("Wuchunwei","Yangmengmeng","Lvs") #元组只有2个方法,一个是count,一个是index >>> tuple1 = (1,2,'3',4,'5') >>...

weixin_30657541的博客 127

python之旅第六站(python的内置数据结构:列表,元组,集合,字典)

第六章:python的内置数据结构 一.什么是内置数据结构? 数据结构是一个很大的概念,这里简单描述为 计算机组织和存储数据的方式. 更通俗易懂的来理解,可以把数据比作居民,对于不同小区,不同户型就是不同的结构,房子作为组织数据的结构,居民为数据. 例如:一室一厅住一个人,两室一厅住两个人就好比两种数据结构,一种是存放一个数据,另一种是存放两个数据. 居民和房子看做一个整体组成一种数据结构,住在树上的原始人,山顶洞人也各为一种数据结构. 那么内置数据结构就是官方已经准备好的数据结构,可以直接拿来用的.各种

_伍六七_的博客 489

本地化部署 DeepSeek,构建单细胞与空间转录组 AI 分析平台

本地化部署 DeepSeek,构建单细胞与空间转录组 AI 分析平台

weixin_53637133的博客 182
上一篇: Python 自然语言处理入门
下一篇: 使用 Python 图像库处理图像
程序员孔乙己
博客等级 码龄5年 1190粉丝 81原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值