当前位置:   article > 正文

Python(基本类型)列表、元组、字典、集合_字典使用( )建立a.{}或set()b.[]或list()c.{}d.()或tuple()

字典使用( )建立a.{}或set()b.[]或list()c.{}d.()或tuple()

(本文仅用于交流和学习)

Python列表(list)

Python 有 6 个序列的内置类型,但最常见的是列表和元组。
Python列表:列表是最常用的 Python 数据类型,它可以作为一个方括号[]内的逗号分隔值出现。

# 列表的数据项不需要具有相同的类型
list = [1,"a","啊"]
  • 1
  • 2

序列中的每个值都有对应的位置值,称之为索引,第一个索引是 0,第二个索引是 1,依此类推。
列表的数据项不需要具有相同的类型
列表都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python 已经内置确定序列的长度以及确定最大和最小的元素的方法。

访问列表(list)中的值

  1. 与字符串的索引一样,列表索引从 0 开始,第二个索引是 1,依此类推。
    通过索引列表可以进行截取、组合等操作。
  2. 索引也可以从尾部开始,最后一个元素的索引为 -1,往前一位为 -2,以此类推。
  3. 使用下标索引来访问列表中的值,同样你也可以使用方括号 [] 的形式截取字符
  4. 使用for循环
for a in list:
        print(a)
  • 1
  • 2

#  向列表(尾部)添加元素
list.append(obj)                     

# 通过extend可以将另一个集合中的元素逐一添加到列表中
list.extend(list)

# 在指定位置index前插入元素object
insert(index, object) 

#append和extend区别:
#append() 方法向列表的尾部添加一个新的元素。
#extend()方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

# del:根据下标进行删除
del list[2]

# pop:删除最后一个元素
list.pop()

# remove:根据元素的值进行删除
list.remove()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

# 修改元素的时候,要通过下标来确定要修改的是哪个元素,然后才能进行修改
list[2] = "值"
  • 1
  • 2

# in(存在),如果存在那么结果为true,否则为false
if a in list:
    print("找到了")
else:
    print("没找到")

# not in(不存在),如果不存在那么结果为true,否则false
if a not in list:
    print("找到了")
else:
    print("没找到")
    

# 统计某个元素在列表中出现的次数
list.count(obj)

# 从列表中找出某个值第一个匹配项的索引位置
list.index(obj)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

其他常见方法:菜鸟驿站Python列表

Python元组(tuple)

Python 的元组与列表类似,不同之处在于元组的元素不能修改。
元组与字符串类似,下标索引从 0 开始,可以进行截取,组合等。
元组使用小括号 ( ),列表使用方括号 [ ]。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

tuple= (1,"a","啊")
  • 1

元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用:

tup1 = (50)
type(tup1)     # 不加逗号,类型为整型
<class 'int'>

tup1 = (50,)
type(tup1)     # 加上逗号,类型为元组
<class 'tuple'>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

访问元组(tuple)里的值

tuple = (1,"a","啊")
print(tuple[0])#他没有引号
  • 1
  • 2
  • 3
  • 4

增 改

所谓元组的不可变指的是元组所指向的内存中的内容不可变。

# 元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组
  • 1
tuple = (1,"a","啊")

del tuple
print(tuple)
  • 1
  • 2
  • 3
  • 4

tuple = (1,"a","啊")
# for循环取值
for i in tuple:
    print(i)

# 打印结果
<class 'tuple'>
<class 'type'>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

元组内置函数

# 计算元组元素个数。
len(tuple)

# 返回元组中元素最大值。
max(tuple)

# 返回元组中元素最小值。
min(tuple)

# 将可迭代系列转换为元组。
tuple(iterable)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

Python字典(dict)

字典是另一种可变容器模型,且可存储任意类型对象。

创建 :

字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:

d = {key1 : value1, key2 : value2, key3 : value3 }
  • 1
特性

键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字。

两个重要的点需要记住:
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住

2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行,

字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。

能删单一的元素也能清空字典,清空只需一项操作。
显示删除一个字典用del命令

del dict['0'] # 删除键 

dict.clear()     # 清空字典

del dict         # 删除字典
  • 1
  • 2
  • 3
  • 4
  • 5

向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对

dict = {0 : "a", 1 : "b", 2 : "c" }
print(dict)

# 有key 修改value
dict[0] = "有key"
print(dict)

# 无key增加新的键值对
dict[10086] = "无key"
print(dict)


# 打印结果
{0: 'a', 1: 'b', 2: 'c'}
{0: '有key', 1: 'b', 2: 'c'}
{0: '有key', 1: 'b', 2: 'c', 10086: '无key'}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

# 会打印键值对
print(dict)

# for循环只会打印值
for i in dict:
    print(i)

# 打印keys
for key in dict.keys():
    print(key,dict[key])
    
# 打印values
for value in dict.values():
    print(value)

# 打印键值对
for item in dict.items():
    print(item)
    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

字典内置函数

# 计算字典元素个数,即键的总数。
len(dict)

# 输出字典,以可打印的字符串表示。
str(dict)

# 返回输入的变量类型,如果变量是字典就返回字典类型。
type(variable)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

Python3 集合(set)

集合(set)是一个无序的不重复元素序列。

可以使用大括号 { } 或者 set() 函数创建集合
注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

创建格式:

parame = {value01,value02,...}
或者
set(value)
  • 1
  • 2
  • 3

# 将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。
set.add( x )

# 还有一个方法,也可以添加元素,且参数可以是列表,元组,字典等
# x 可以有多个,用逗号分开。
set.update( x )
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

# 将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。
set.remove( x )

# 此外还有一个方法也是移除集合中的元素,且如果元素不存在,不会发生错误。
set.discard( x )

# 设置随机删除集合中的一个元素
# set 集合的 pop 方法会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除。
s.pop() 

# 清空集合
s.clear()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

集合交集和并集

# 交集和并集( & 和 | )
# 交集     # 集合a和b中都包含了的元素
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
new_set = set1 & set2
print(new_set) 
# {3, 4}
# 并集     # 集合a或b中包含的所有元素
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
new_set = set1 | set2
print(new_set)
# {1, 2, 3, 4, 5, 6}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
>>> # 下面展示两个集合间的运算.
...
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a                                  
{'a', 'r', 'b', 'c', 'd'}
>>> a - b                              # 集合a中包含而集合b中不包含的元素
{'r', 'd', 'b'}
>>> a | b                              # 集合a或b中包含的所有元素
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b                              # 集合a和b中都包含了的元素
{'a', 'c'}
>>> a ^ b                              # 不同时包含于a和b的元素
{'r', 'd', 'b', 'm', 'z', 'l'}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

判断元素是否在集合中存在

x in set


>>> thisset = set(("Google", "Runoob", "Taobao"))
>>> "Runoob" in thisset
True
>>> "Facebook" in thisset
False
>>>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

结合内置函数

方法描述
add()为集合添加元素
clear()移除集合中的所有元素
copy()拷贝一个集合
difference()返回多个集合的差集
difference_update()移除集合中的元素,该元素在指定的集合也存在。
discard()删除集合中指定的元素
intersection()返回集合的交集
intersection_update()返回集合的交集
isdisjoint()判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False
issubset()判断指定集合是否为该方法参数集合的子集
issuperset()判断该方法的参数集合是否为指定集合的子集
pop()随机移除元素
remove()移除指定元素
symmetric_difference()返回两个集合中不重复的元素集合
symmetric_difference_update()移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中
union()返回两个集合的并集
update()给集合添加元素

在这里插入图片描述

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/836787
推荐阅读
相关标签
  

闽ICP备14008679号