Ⅰ python中集合和字典的区别
在 Python3.7+以后字典都被确定为有序,而集合是无序的元素集。
集合和字典基本相同,唯一的区别是集合没有键和值的配对,是一系列无序的、唯一的元素组合。
Ⅱ 用python语言写一个函数 (有点急)
马上。。easy
#! /usr/bin/env python
#coding=utf-8
list = [u"衣服",u"手表",u"鲜花",u"巧克力"]
def getGift(i = 0):
return list[i]
print(getGift(2))
#out:鲜花
如果是python3以上的话,就不用加 u 了
Ⅲ python 怎么判断集合中是否包含
1、说明
python判断集合中是否包含可以使用in关键字来实现。
2、示例
s={'1','2','3','4','5','6'}
i=input('请输入一个数字:')
ifiins:
print(i,'在集合中')
else:
print(i,'不在集合中')
执行结果:
3、备注
有时候要判断一个值是否在一个集合里面,这时就会用到in运算符来判断成员资格,如果条件为真时,就会返回true,条件为假时,返回一个flase。这样的运算符叫做布尔运算符,其真值叫做布尔值。
Ⅳ python集合的使用怎么样的
Python set 集合最常用的操作是向集合中添加、删除元素,以及集合之间做交集、并集、差集等运算。
向set集合中添加元素
set 集合中添加元素,可以使用 set 类型提供的 add() 方法实现,该方法的语法格式为:
1
setname.add(element)
其中,setname 表示要添加元素的集合,element 表示要添加的元素内容。
需要注意的是,使用 add() 方法添加的元素,只能是数字、字符串、元组或者布尔类型(True 和 False)值,不能添加列表、字典、集合这类可变的数据,否则 Python 解释器会报 TypeError 错误。例如:
1
2
3
4
5
a = {1,2,3}
a.add((1,2))
print(a)
a.add([1,2])
print(a)
运行结果为:
1
2
3
4
5
{(1, 2), 1, 2, 3}
Traceback (most recent call last):
File "C:\Users\mengma\Desktop\1.py", line 4, in
a.add([1,2])
TypeError: unhashable type: 'list'
从set集合中删除元素
删除现有 set 集合中的指定元素,可以使用 remove() 方法,该方法的语法格式如下:
1
setname.remove(element)
使用此方法删除集合中元素,需要注意的是,如果被删除元素本就不包含在集合中,则此方法会抛出 KeyError 错误,例如:
1
2
3
4
5
a = {1,2,3}
a.remove(1)
print(a)
a.remove(1)
print(a)
运行结果为:
1
2
3
4
5
{2, 3}
Traceback (most recent call last):
File "C:\Users\mengma\Desktop\1.py", line 4, in
a.remove(1)
KeyError: 1
Ⅳ Python循环随机数问题
importrandom
gifts=['iPhoneXS',
'WirelessHeadphones',
'StuffedBunnyToy',
'NikeCap',
'SilverHeartPendant',
'HappyBirthdayPhotoFrame',
'GadgetKeyChain']
while1:
print(': ')
g=random.sample(gifts,3)
foriing:
print(i)
input(' Pressanykeycontinue')
agift=random.choice(g)
print(" Yourgiftis"+agift+' ')
gifts.remove(agift)
print(gifts)
print(' ')
Ⅵ python如何创建空集合
python里面的集合叫做列表,有两种代码
list=[]
或者
list=list()
不用去规定数据类型
更多知识可以去网络“python列表的使用”
也可以直接看看这个文章python列表
Ⅶ python中集合的特点和注意点
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(mostrecentcalllast):
File"<stdin>",line1,in<mole>
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}
>>>1innumbers#1在numbers集合中,返回True
True
>>>3innumbers#3在numbers集合中,返回True
True
>>>4innumbers#4不在numbers集合中,返回False
False
>>>4notinnumbers#notin是in的反向操作
True
6、查看集合的长度
集合的内建函数len()用于查看集合的长度,即集合中项的个数:
>>>empty=set()
>>>len(empty)
0
>>>numbers={1,2,3,5,7}
>>>len(numbers)
5
Ⅷ python写个礼物送朋友
述说着你我爱情的竹雕证书(楠竹制),讲述着永恒,雕刻着款情深。激光雕刻深深"铭刻"爱情。
刻竹铭新竹简,完全自主的创意,自行设计,无论你是要送给什么人,都会适合
一卷清香的竹简+你心中酝酿了许久的话+个性化的图案=一份能表达你最真挚情感的珍贵礼物
使爱人为之落泪,使亲人为之感动,使朋友间情谊加深。。。。。。
想象多年以后,
旧相片会微微地泛黄、而如今年轻的我们也会渐渐老去,
然而这竹简上的心意仍会历久弥新,
见证着当年风花雪月的旧日时光。
希望对你能有所帮助
千里送鹅毛,不怕礼轻,就怕礼物不能充分表达你的情意
我的QQ名就是网址,希望能(有意思)帮到你
Ⅸ 动态规划分配礼物问题
思想:
1:对礼物的价值排序,采用快速排序,从价值大到小排序。
2:主体思想:
2.1初始化:把第一个礼物分给Alan, 第二个礼物分给Bob,并以a、b纪录2者的个人的总价值
2.2:循环以下动作,直到分配结束:
if a<=b,把下一个礼物分给Alan
else ,把下一个礼物分给Bob
复杂度:排序复杂度为O( n*logn ),核心算法复杂度:O( n ),所以总体复杂度为O( n*logn )。
思想:没有按照你要求的动态规划的思想方法,而是采用了贪心算法,貌似要比动规简便。