重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Python编程中可以用len函数返回序列中所包含元素的数量长度、min函数和max函数返回序列中最大和最小的元素,代码如下:
成都创新互联公司是专业的牟平网站建设公司,牟平接单;提供成都网站建设、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行牟平网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
numbers = [100, 34, 678]
len(numbers)
3
max(numbers)
678
min(numbers)
34
max(2, 3)
3
min(9, 3, 2, 5)
2
直接len()方法就好了。
len(obj, /)
Return the number of items in a container
1、集合概念
Python中的集合,是一个无序的、没有重复项的集。它支持数学概念上的集合操作,如交集、并集、补集和差集。集合是可变的,可以在其中添加或删除项。集合用花括号“{}”括起来,并用逗号“,”来分隔其中的项。
2、创建集合
可以使用花括号“{}”创建集合,集合会自动去除重复的项。下面的集合包含了几种用字符串表示的水果:
# 创建fruits集合时,'apple'出现了两次
fruits = {'apple', 'banana', 'watermelon', 'strawberry', 'apple'}
fruits # 查看fruits集合,'apple'只有保留了一个
{'apple', 'strawberry', 'banana', 'watermelon'}
与列表、元组、字典一样,集合也可以用工厂函数set()来创建。set()函数的参数要么为空,要么为可迭代对象(如列表、元组和字符串):
fruits = set(['apple', 'banana', 'watermelon', 'strawberry', 'apple']) # 以列表为参数创建集合
fruits
{'apple', 'strawberry', 'banana', 'watermelon'}
numbers = set((1, 2, 3, 3, 2, 4)) # 以元组为参数创建集合
numbers
{1, 2, 3, 4}
letters = set('banana') # 以字符串为参数创建集合
letters
{'b', 'a', 'n'}
如果想要创建一个空集合,那么使用空的花括号“{}”是行不通的,因为这样创建的是一个空字典:
empty = {}
empty
{}
type(empty)
class 'dict'
创建空集合的唯一方式就是使用不包含任何参数的set()函数:
empty = set()
empty # 空集合表示为set()
set()
type(empty)
class 'set'
3、集合添加项
集合是可变的数据类型,在创建集合之后,可以使用集合的add()方法向其添加项:
numbers = {1, 2, 3}
numbers.add(4) # 向numbers集合中添加整数4
numbers
{1, 2, 3, 4}
numbers.add('five') # 向numbers集合中添加字符串'five'
numbers
{1, 2, 3, 4, 'five'}
numbers.add((5, 6, 7)) # 向numbers集合中添加元组(5, 6, 7)
numbers
{1, 2, 3, 4, (5, 6, 7), 'five'}
如果向某个集合中添加已经存在的项,那么什么也不会发生:
fruits = {'apple', 'strawberry', 'banana', 'watermelon'}
fruits
{'banana', 'apple', 'watermelon', 'strawberry'}
fruits.add('apple') # 添加已经存在的项'apple'
fruits # fruits集合并没有改变
{'banana', 'apple', 'watermelon', 'strawberry'}
也可以使用集合的update()方法向集合中添加项,参数必须是可迭代对象,如列表、字符串或另一个集合。类似于列表的append()方法和extend()方法,但区别是集合的update()方法总是会将可迭代对象“展开”:
numbers = {1}
numbers
{1}
numbers.update((5, 6, 7))
numbers # 可以看出update()方法和add()方法的区别
{1, 5, 6, 7}
numbers.update({4, 5}, {6, 7, 8}) # 参数为两个集合
numbers
{1, 4, 5, 6, 7, 8}
4、集合删除项
可以使用集合的remove()方法删除某个集合中的指定项:
numbers = {1, 2, 3, 5, 7}
numbers.remove(1)
numbers
{2, 3, 5, 7}
numbers.remove(3)
numbers
{2, 5, 7}
如果试图删除集合中不存在的项,那么Python解释器会报错:
numbers = {1, 2, 3, 5, 7}
numbers.remove(4)
Traceback (most recent call last):
File "stdin", line 1, in module
KeyError: 4
还可以使用集合的discard()方法来删除项,它和remove()方法唯一的区别是,当试图删除不存在的项时,discard()方法并不会报错,而是什么也不会发生:
numbers = {1, 2, 3, 5, 7}
numbers.discard(1)
numbers
{2, 3, 5, 7}
numbers.discard(3)
numbers
{2, 5, 7}
numbers.discard(4)
numbers # 什么也没发生
{2, 5, 7}
5、检查某个项是否在集合中
集合的in操作符用于检查指定项是否在集合中,not in操作符用于检查指定项是否不在集合中:
numbers = {1, 2, 3, 5, 7}
1 in numbers # 1在numbers集合中,返回True
True
3 in numbers # 3在numbers集合中,返回True
True
4 in numbers # 4不在numbers集合中,返回False
False
4 not in numbers # not in是in的反向操作
True
6、查看集合的长度
集合的内建函数len()用于查看集合的长度,即集合中项的个数:
empty = set()
len(empty)
numbers = {1, 2, 3, 5, 7}
len(numbers)
5
python中len()的用法:
新建一个len()函数的使用py,中文编码声明注释:#coding=gbk,函数:len()作用:返回字符串、列表、字典、元组等长度。语法:len(str)。参数:str:要计算的字符串、列表、字典、元组等。返回值:字符串、列表、字典、元组等元素的长度。
实例:
1、计算字符串的长度。
2、计算列表的元素个数。
3、计算字典的总长度,即键值对总数。
4、计算元组元素个数。
在Python中,要知道一个字符串有多少个字符,以获得字符串的长度,或者一个字符串需要多少字节,可以使用len函数。
1.集合(set)是一个无序不重复元素的序列(意思是有重复的会自动删除,每次打印元素的位置不一定)
2.基本功能是进行成员关系测试和删除重复元素
3.可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典
4.因为set存储的是无序集合,所以我们没法通过索引来访问。访问 set中的某个元素实际上就是判断一个元素是否在set中。
1.创建集合
s=set()#创建一个空集合
s1={1,2,3,'a','python'}
2.删除重复的元素
集合是一个无序不重复元素的序列(意思是有重复的会自动删除,每次打印元素的位置不一定)
3.成员关系测试(检测某个成员是否在集合中)
案例:从终端输入5位数,以空格隔开,把这5位数存入列表中,剔除重复的数据,打印出来
#提示,列表转集合,集合转列表
a=input("请输入5位数字:")
mylist=a.split()
print(mylist)
b=set(mylist)
c=list(b)
print(c)
4.集合常用操作
1.添加元素
2.删除元素
3.删除整个集合
4.获取集合的长度
5.不支持改元素
集合操作-添加元素
格式:
集合.add(元素)
格式:
集合.update(元素)
区别:
add不能添加列表,update可以
update是将字符串中的拆分成字符进行追加
add,是当做整体追加在集合中
#案例:从终端输入一个数字就加入集合中,然后打印,又输入一个数字,然后打印,直到输入-1,退出输入
#然后打印最终的集合
ms=set()
while 1:
a=int(input("请输入一个数字:"))
if a==-1:
break
ms.add(a)
print(ms)
print(ms)
#案例:从终端输入一个字符串就加入集合中,然后打印,又输入一个字符串,然后打印,直到输入q,退出输入
#然后打印最终的集合,字符串要分开存储,如输入hello,存储的列表是{'h','e','l','0'}
ms=set()
while 1:
a=input("请输入一个字符串:")
if a=='q':
break
ms.update(a)
print(ms)
print(ms)
集合操作-删除元素及删除整个集合
格式:
集合.remove(元素) # 元素如果不存在会引发KeyError
集合.discard(元素) # 元素如果不存在不发生任何事
集合.pop() # 集合元素是字符串类型时删除随机元素。 集合元素是其他数据类型时,删除左边第一个元素
del 集合名 #删除整个集合
#案例:有集合{1,2,3,'hello','world'},删除全部字符串,然后最左边第一个元素
a={1,2,3,'hello','world'}
a.discard("hello")
a.discard("world")
a.pop()
print(a)
集合操作-获取集合的长度
格式:
len(集合名)
#案例:有集合{1,2,3,4,'hello','a'},保留1个元素,其他的删除,假如元素个数不确定
s={1,2,3,4,'hello','a'}
for i in range(len(s)-1):
s.pop()
print(s)
集合的集运算
集合的交集,并集,差集,对称差集的运算
{1,2,3,4}交集{4,5,6,7} --4 交集()
{1,2,3,4}并集{4,5,6,7} -1,2,3,4,5,6,7 并集(|)
{1,2,3,4}差集{4,5,6,7} -1,2,3 差集(-)
{1,2,3,4}对称差集{4,5,6,7}-1,2,3,5,6,7 4同时出现在两个集合中,不选它 对称差集(^)
#案例:使用花括号和set创建各一个集合,然后对集合进行交、并、差、对称差运算
s={1,2,3,4,5,6}
s1=set([6,7,8,9,10])
print(ss1)
print(s|s1)
print(s-s1)
print(s^s1)
*事先说明:以下代码及结果来自本设备Python控制台,在不同设备上可能结果有区别,望自己尝试为妙
集合(set),是一种Python里的类(class),
集合类似于列表(list),可更改,可迭代(iterable),但是元素不重复
定义集合使用花括号{},例如:
s = {"apple", "banana", "strawberry", "watermelon"}
警告!!!如果使用空括号
a = {}
a.__class__
class 'dict'
a将成为一个字典
想要定义空集合,
请使用类名。
a = set()
类名定义也可以把迭代转换为集合:
b = set("abc")
b
{'a', 'b', 'c'}
但是,保存后它是无序的。
s
{'banana', 'watermelon', 'strawberry', 'apple'}
(结果仅供参考,在不同设备上略有不同)
下面介绍它的性质:
1. 可更改:
使用add(x)方法添加元素x:
s.add("lemon")
s
{'banana', 'strawberry', 'lemon', 'watermelon', 'apple'}
使用update(iter1, iter2, …)方法添加多个可迭代对象(如列表,元组(tuple),另一个集合)里的元素:
s.update(("orange", "grape"))
s
{'banana', 'strawberry', 'orange', 'lemon', 'watermelon', 'apple', 'grape'}
警告!!!如果使用字符串,字符串也会被迭代:
a = set()
a.update("apple")
a
{'a', 'p', 'e', 'l'}
使用remove(x)移除元素x,如果x不存在,则抛出KeyError错误
s.remove("lemon")
s
{'banana', 'strawberry', 'orange', 'watermelon', 'apple', 'grape'}
s.remove("cat")
Traceback (most recent call last):
File "stdin", line 1, in module
s.remove("cat")
KeyError: 'cat'
使用discard(x)移除元素x,不会发生错误
s.discard("grape")
s
{'banana', 'strawberry', 'orange', 'watermelon', 'apple'}
s.discard("dog")
s
{'banana', 'strawberry', 'orange', 'watermelon', 'apple'}
2. 可迭代:
for x in s:
... print(x)
banana
strawberry
orange
watermelon
apple
3. 可以使用 len 函数获取集合长度;
len(s)
5
可以使用 in 关键字检查一个元素是否在集合内,将返回逻辑值(bool):
"apple" in s
True
"candy" in s
False
4.集合具有不重复性,因此它会自动去重:
c = set("Hello World!")
c
{' ', 'e', 'l', 'H', '!', 'r', 'W', 'o', 'd'}
5. 集合的运算
d = set("abcdef")
e = set("efghij")
d
{'c', 'e', 'a', 'b', 'f', 'd'}
e
{'h', 'e', 'g', 'j', 'f', 'i'}
d - e # 集合d去掉集合e含有的元素,或者说集合d包含而集合e不包含的元素(不改变原集合)
{'a', 'b', 'd', 'c'}
d | e # 集合d,e的所有元素
{'c', 'e', 'h', 'g', 'a', 'b', 'j', 'f', 'd', 'i'}
d e # 集合d,e都包含的元素
{'f', 'e'}
d ^ e # 不同时出现在集合d, e中的元素
{'c', 'g', 'h', 'a', 'b', 'j', 'd', 'i'}
注意!!!
字符串、列表通用的+和*不适用于集合
"abc" + "def"
'abcdef'
[1, 2, 3] + [4, 5, 6]
[1, 2, 3, 4, 5, 6]
d + e
Traceback (most recent call last):
File "stdin", line 1, in module
d + e
TypeError: unsupported operand type(s) for +: 'set' and 'set'
"a" * 5
'aaaaa'
[1] * 3
[1, 1, 1]
d*3
Traceback (most recent call last):
File "stdin", line 1, in module
d * 2
TypeError: unsupported operand type(s) for *: 'set' and 'int'
(作者的小观点:既然集合是不能重复的,那么乘以、重复是没有意义的)