在python中如何把多个元素放在一个列表里

在python中如何把多个元素放在一个列表里,第1张

打开pycharm开发工具,新建python文件并定义列表变量a1,进行赋值

请点击输入图片描述

再次定义一个列表变量a2,然后将a2追加到列表a1,打印变量a1和a2

请点击输入图片描述

保存代码并运行文件,可以查看到a1的元素发生了改变,而a2没有

请点击输入图片描述

定义一个元组变量a3并赋值,将元组a3添加列表a2中,然后依次打印a2和a3

请点击输入图片描述

再次保存代码并运行代码,可以查看到元组a3拆开成单个元素,添加列表a2中

请点击输入图片描述

使用range()方法生成1~20之间的数值序列,并添加到列表a1中,打印列表a1

请点击输入图片描述

7

保存代码并使用python应用运行,查看到打印结果:数值序列添加列表中

请点击输入图片描述

1.集合类型概述

Python语言中的集合类型与数学中的集合概念一致,即包含0个或多个数据项的无序组合。

集合是无序组合,用大括号{}表示,它没有索引和位置的概念,集合中元素可以动态增加或删除。

由于集合元素独一无二,使用集合类型能够过滤掉重复元素。

集合类型有4个 *** 作符,交集&、并集|、差集-、补集^, *** 作逻辑与数学定义相同

集合类型有一些常用的 *** 作函数或方法

set()函数将其他的组合数据类型变成集合类型,返回结果是一个无重复且排序任意的集合。set()函数也可以生成空集合变量。

列表类型用中括号[]表示,也可以通过list(x)函数将集合或字符串类型转换成列表类型。

列表属于序列类型,所以列表类型支持序列类型对应的 *** 作

1.序列类型有一些通用的 *** 作符和函数

2.列表的索引

索引是列表的基本 *** 作,用于获得列表的一个元素。使用中括号作为索引 *** 作符。

可以使用遍历循环对列表类型的元素进行遍历 *** 作,

基本使用方式如下

3.列表的切片

切片是列表的基本 *** 作,用于获得列表的一个片段,即获得一个或多个元素。切片后的结果也是列表类型。

切片的使用方式:

切片获取列表类型从N到M(不包含M)的元素组成新的列表。当K存在时,切片获取列表类型从N到M(不包含M)以K为步长所对应元素组成的列表。

1.列表的 *** 作方法

ls.append(x)仅用于在列表中增加一个元素,如果希望增加多个元素,可以使用加号+,将两个列表合并。

可以使用Python保留字del对列表元素或片段进行删除。

如下:

使用索引配合等号(=)可以对列表元素进行修改。

补:元组

Python的元组与列表类似,不同之处在于元组的元素不能修改。

元组使用小括号(),列表使用方括号。

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

Python语言中的字典使用大括号{}建立,每个元素是一个键值对。

使用方式:

键和值通过冒号连接,不同键值对通过逗号隔开。大括号可以表示集合,字典类型也具有和集合类似的性质,即键值对之间没有顺序且不能重复。

•字典的索引

列表类型采用元素顺序的位置进行索引。由于字典元素“键值对”中键是值的索引,因此,可以直接利用键值对关系索引元素。

利用索引和赋值 = 配合,可以对字典中每个元素进行修改。

使用大括号可以创建字典。通过索引和赋值配合,可以向字典中增加元素。

字典类型有一些通用的 *** 作函数

字典类型存在一些 *** 作方法

d.keys()返回字典中的所有键信息,返回结果是Python的一种内部数据类型dict_keys,专用于表示字典的键。如果希望更好的使用返回结果,可以将其转换为列表类型。

d.values()返回字典中的所有值信息,返回结果是Python的一种内部数据类型dict_values。如果希望更好的使用返回结果,可以将其转换为列表类型。

d.items()返回字典中的所有键值对信息,返回结果是Python的一种内部数据类型dict_items。

d.get(key, default)根据键信息查找并返回值信息,如果key存在则返回相应值,否则返回默认值,第二个元素default可以省略,如果省略则默认值为空。

d.pop(key, default)根据键信息查找并取出值信息,如果key存在则返回相应值,否则返回默认值,第二个元素default可以省略,如果省略则默认值为空。相比d.get()方法,d.pop()在取出相应值后,将从字典中删除对应的键值对。

d.popitem()随机从字典中取出一个键值对,以元组(key,value)形式返回。取出后从字典中删除这个键值对。

d.clear()删除字典中所有键值对。

此外,如果希望删除字典中某一个元素, 可以使用Python保留字del。

字典类型也支持保留字in,用来判断一个键是否在字典中。如果在则返回True,否则返回False。

字典可以遍历循环对其元素进行遍历

for循环返回的变量名是字典的索引值。如果需要获得键对应的值,可以在语句块中通过get()方法获得。

python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算.

sets 支持 x in set, len(set),和 for x in set。作为一个无序的集合,sets不记录元素位置或者插入点。因此,sets不支持 indexing, slicing, 或其它类序列(sequence-like)的 *** 作。

下面来点简单的小例子说明把。

>>>x = set('spam')

>>>y = set(['h','a','m'])

>>>x, y

(set(['a', 'p', 's', 'm']), set(['a', 'h', 'm']))

再来些小应用。

>>>x &y # 交集

set(['a', 'm'])

>>>x | y # 并集

set(['a', 'p', 's', 'h', 'm'])

>>>x - y # 差集

set(['p', 's'])

记得以前个网友提问怎么去除海量列表里重复元素,用hash来解决也行,只不过感觉在性能上不是很高,用set解决还是很不错的,示例如下:

>>>a = [11,22,33,44,11,22]

>>>b = set(a)

>>>b

set([33, 11, 44, 22])

>>>c = [i for i in b]

>>>c

[33, 11, 44, 22]

很酷把,几行就可以搞定。

1.8 集合

集合用于包含一组无序的对象。要创建集合,可使用set()函数并像下面这样提供一系列的项:

s = set([3,5,9,10]) #创建一个数值集合

t = set("Hello") #创建一个唯一字符的集合

与列表和元组不同,集合是无序的,也无法通过数字进行索引。此外,集合中的元素不能重复。例如,如果检查前面代码中t集合的值,结果会是:

>>>t

set(['H', 'e', 'l', 'o'])

注意只出现了一个'l'。

集合支持一系列标准 *** 作,包括并集、交集、差集和对称差集,例如:

a = t | s # t 和 s的并集

b = t &s # t 和 s的交集

c = t – s # 求差集(项在t中,但不在s中)

d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中)

基本 *** 作:

t.add('x')# 添加一项

s.update([10,37,42]) # 在s中添加多项

使用remove()可以删除一项:

t.remove('H')

len(s)

set 的长度

x in s

测试 x 是否是 s 的成员

x not in s

测试 x 是否不是 s 的成员

s.issubset(t)

s <= t

测试是否 s 中的每一个元素都在 t 中

s.issuperset(t)

s >= t

测试是否 t 中的每一个元素都在 s 中

s.union(t)

s | t

返回一个新的 set 包含 s 和 t 中的每一个元素

s.intersection(t)

s &t

返回一个新的 set 包含 s 和 t 中的公共元素

s.difference(t)

s - t

返回一个新的 set 包含 s 中有但是 t 中没有的元素

s.symmetric_difference(t)

s ^ t

返回一个新的 set 包含 s 和 t 中不重复的元素

s.copy()

返回 set “s”的一个浅复制

请注意:union(), intersection(), difference() 和 symmetric_difference() 的非运算符(non-operator,就是形如 s.union()这样的)版本将会接受任何 iterable 作为参数。相反,它们的运算符版本(operator based counterparts)要求参数必须是 sets。这样可以避免潜在的错误,如:为了更可读而使用 set('abc') &'cbs' 来替代 set('abc').intersection('cbs')。从 2.3.1 版本中做的更改:以前所有参数都必须是 sets。

另外,Set 和 ImmutableSet 两者都支持 set 与 set 之间的比较。两个 sets 在也只有在这种情况下是相等的:每一个 set 中的元素都是另一个中的元素(二者互为subset)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11806264.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存