Ⅰ 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 )。
思想:沒有按照你要求的動態規劃的思想方法,而是採用了貪心演算法,貌似要比動規簡便。