Python(基本类型)列表、元组、字典、集合

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

Python列表(list)

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

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

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

访问列表(list)中的值

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

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

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

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

#append和extend区别:
#append() 方法向列表的尾部添加一个新的元素。
#extend()方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中

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

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

# remove:根据元素的值进行删除
list.remove()

# 修改元素的时候,要通过下标来确定要修改的是哪个元素,然后才能进行修改
list[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)

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

Python元组(tuple)

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

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

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

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

tup1 = (50,)
type(tup1)     # 加上逗号,类型为元组
<class 'tuple'>

访问元组(tuple)里的值

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

增 改

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

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

del tuple
print(tuple)

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

# 打印结果
<class 'tuple'>
<class 'type'>

元组内置函数

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

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

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

# 将可迭代系列转换为元组。
tuple(iterable)

Python字典(dict)

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

创建 :

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

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

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

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

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

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

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

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

del dict['0'] # 删除键 

dict.clear()     # 清空字典

del dict         # 删除字典

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

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'}

# 会打印键值对
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)
    

字典内置函数

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

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

# 返回输入的变量类型,如果变量是字典就返回字典类型。
type(variable)

Python3 集合(set)

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

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

创建格式:

parame = {value01,value02,...}
或者
set(value)

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

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

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

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

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

# 清空集合
s.clear()

集合交集和并集

# 交集和并集( & 和 | )
# 交集     # 集合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}
>>> # 下面展示两个集合间的运算.
...
>>> 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'}

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

x in set


>>> thisset = set(("Google", "Runoob", "Taobao"))
>>> "Runoob" in thisset
True
>>> "Facebook" in thisset
False
>>>

结合内置函数

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

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值