導航:首頁 > 編程語言 > 列表轉集合python

列表轉集合python

發布時間:2022-05-15 21:47:37

python集合元素可以是列表嗎

集合的元素不可以是列表,只能是固定數據類型,例如數值、字元串、元組

⑵ python一些數在列表中,如:L = [1, 3, 2, 1, 6, 4, 2, ....., 98, 82]

第一個要求其實很簡單,可以講列表轉為集合,python中列表是用於儲存不限數量可重復可修改元素的,集合是用於儲存不限數量不可重復可修改元素的(也有不可修改集合),只要將列表轉為集合再轉回列表,就可以滿足第一個要求;第二個要求可以使用列表的count屬性和列表推導式來獲取列表中重復的元素,參考代碼如下:
list1 = [1, 1, 2, 94, 64, 10, 10, 10, 99]
list2 = list(set(list1))
list3 = list(set([i for i in list1 if list1.count(i)>1]))

print(list2)
print(list3)

結果是:
[64, 1, 2, 99, 10, 94]
[1, 10]

⑶ python中list轉換的問題

怎麼寫的這么復雜啊…… 正確的python代碼風格應該是下面兩種。 總的來說,用map並不是一個最優的選擇,更建議用 list comprehension 來解決類似問題。


用map:

name=['jim','ToM','KOII']
name=list(map(lambdax:x.capitalize()),name))#python3
#或者
name=map(lambdax:x.capitalize()),name)#python2

list comprehension:

name=['jim','ToM','KOII']
name=[x.capitalize()forxinname]

⑷ Python列表,元組,集合,字典的區別和相互轉

列表、元組、集合、字典相互轉換
一、列表元組轉其他
1、列表轉集合(去重)
list1 = [6, 7, 7, 8, 8, 9]
set(list1)
# {6, 7, 8, 9}
2、兩個列表轉字典
list1 = ['key1','key2','key3']
list2 = ['1','2','3']
dict(zip(list1,list2))
# {'key1': '1', 'key2': '2', 'key3': '3'}
3、嵌套列表轉字典
list3 = [['key1','value1'],['key2','value2'],['key3','value3']]
dict(list3)
# {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
4、列表、元組轉字元串
list2 = ['a', 'a', 'b']
''.join(list2)
# 'aab'
tup1 = ('a', 'a', 'b')
''.join(tup1)
# 'aab'

二、字典轉其他
1、 字典轉換為字元串
dic1 = {'a':1,'b':2}
str(dic1)
# "{'a': 1, 'b': 2}"
2、字典key和value互轉
dic2 = {'a': 1, 'b': 2, 'c': 3}
{value:key for key, value in a_dict.items()}
# {1: 'a', 2: 'b', 3: 'c'}

三、字元串轉其他
1、字元串轉列表
s = 'aabbcc'
list(s)
# ['a', 'a', 'b', 'b', 'c', 'c']
2、字元串轉元組
tuple(s)
# ('a', 'a', 'b', 'b', 'c', 'c')
3、 字元串轉集合
set(s)
# {'a', 'b', 'c'}
4、字元串轉字典
dic2 = eval("{'name':'ljq', 'age':24}")
5、切分字元串
a = 'a b c'
a.split(' ')
# ['a', 'b', 'c']

⑸ Python列表,元組,集合,字典的區別和相互

元組和列表是類似的, 只是元組不可修改內容

注意這里指的是不可修改元組元素的指向, 你可以修改內容指向的內容

>>>lst=[1,2,3]#定義列表
>>>a=(1,2,lst,4)#注意元組a的a[2]是一個列表
>>>a
(1,2,[1,2,3],4)
>>>a[2]=4#試圖修改元組元素的指向,報錯
Traceback(mostrecentcalllast):
File"<pyshell#3>",line1,in<mole>
a[2]=4
TypeError:'tuple'
>>>a[2][0]=0#不修改元組元素的指向的元素,但是修改指向的內容
>>>a
(1,2,[0,2,3],4)
>>>a[2].append(5)#不修改元組元素的指向的元素,但是修改指向的內容
>>>a
(1,2,[0,2,3,5],4)

字典完全區別於列表和元組

因為字典使用hash表來存儲, 所以只有能夠進行hash運算的才能作為鍵值

個人認為, 一般不可變的都能作為鍵, 比如str/tuple/None/function.列表不能作為鍵

最後, 由於字典是hash表演算法{字典查找O(1), 列表遍歷O(n)}, 在數據量巨大的時候, 字典的查找效率出奇的高

⑹ Python裡面如何實現tuple和list的轉換

list(列表):list是一種有序的集合,可以隨時添加和刪除其中的元素。

tuple(元祖):tuple和list非常類似,但是tuple一旦初始化就不能修改,比如同樣是列出同學的名字:

tuple轉list

python3下運行

list和tuple是Python內置的有序集合,一個可變,一個不可變。

⑺ python集合

*事先說明:以下代碼及結果來自本設備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. 可更改:

>>> s.add("lemon")

>>> s

{'banana', 'strawberry', 'lemon', 'watermelon', 'apple'}


>>> s.update(("orange", "grape"))

>>> s

{'banana', 'strawberry', 'orange', 'lemon', 'watermelon', 'apple', 'grape'}

警告!!!如果使用字元串,字元串也會被迭代:

>>> a = set()

>>> a.update("apple")

>>> a

{'a', 'p', 'e', 'l'}


>>> s.remove("lemon")

>>> s

{'banana', 'strawberry', 'orange', 'watermelon', 'apple', 'grape'}

>>> s.remove("cat")

Traceback (most recent call last):

File "<stdin>", line 1, in <mole>

s.remove("cat")

KeyError: 'cat'


>>> 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 <mole>

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 <mole>

d * 2

TypeError: unsupported operand type(s) for *: 'set' and 'int'

(作者的小觀點:既然集合是不能重復的,那麼乘以、重復是沒有意義的)

⑻ 在python中,列表,字典的相互轉換

列表、元組、集合、字典相互轉換
一、列表元組轉其他
1、列表轉集合(去重)
list1
=
[6,
7,
7,
8,
8,
9]
set(list1)
#
{6,
7,
8,
9}
2、兩個列表轉字典
list1
=
['key1','key2','key3']
list2
=
['1','2','3']
dict(zip(list1,list2))
#
{'key1':
'1',
'key2':
'2',
'key3':
'3'}
3、嵌套列表轉字典
list3
=
[['key1','value1'],['key2','value2'],['key3','value3']]
dict(list3)
#
{'key1':
'value1',
'key2':
'value2',
'key3':
'value3'}
4、列表、元組轉字元串
list2
=
['a',
'a',
'b']
''.join(list2)
#
'aab'
tup1
=
('a',
'a',
'b')
''.join(tup1)
#
'aab'
二、字典轉其他
1、
字典轉換為字元串
dic1
=
{'a':1,'b':2}
str(dic1)
#
"{'a':
1,
'b':
2}"
2、字典key和value互轉
dic2
=
{'a':
1,
'b':
2,
'c':
3}
{value:key
for
key,
value
in
a_dict.items()}
#
{1:
'a',
2:
'b',
3:
'c'}
三、字元串轉其他
1、字元串轉列表
s
=
'aabbcc'
list(s)
#
['a',
'a',
'b',
'b',
'c',
'c']
2、字元串轉元組
tuple(s)
#
('a',
'a',
'b',
'b',
'c',
'c')
3、
字元串轉集合
set(s)
#
{'a',
'b',
'c'}
4、字元串轉字典
dic2
=
eval("{'name':'ljq',
'age':24}")
5、切分字元串
a
=
'a
b
c'
a.split('
')
#
['a',
'b',
'c']

⑼ python中集合的元素可以是列表嗎

集合的特點:無序,數據可變,數據不可重復,數據類型可不同,不可嵌套。集合最好的應用是去重和關系操作(交集、並集等)。集合沒有特殊的表示方法,而是通過一個set函數轉換成集合。

所以,集合的元素不可以是列表。

⑽ python求列表交集的方法匯總

python求列表交集的方法匯總
本文實例匯總了python求列表交集的方法。分享給大家供大家參考。具體方法如下:
交集對於給定的兩個集合A 和 集合B 的交集是指含有所有既屬於 A 又屬於 B 的元素,而沒有其他元素的集合叫交集了,下面給出幾個python求列表交集例子供大家參考。
方法1
遍歷b1,如果某個元素同時也存在於b2中,則返回
代碼如下:b1=[1,2,3]
b2=[2,3,4]
b3 = [val for val in b1 if val in b2]
print b3

運行結果如下
代碼如下:[2, 3]

方法2
把列表轉換為集合,利用集合操作符求出交集,然後再轉換回列表類型
代碼如下:b1=[1,2,3]
b2=[2,3,4]
b3=list(set(b1) & set(b2))
print b3

運行結果如下
代碼如下:[2, 3]

方法3
前面的例子中兩個list都是簡單的單元素列表,還有一種比較特殊的情況,就是有嵌套類型的
代碼如下:b1=[1,2,3]
b2=[[2,4],[3,5]]
b3 = [filter(lambda x: x in b1,sublist) for sublist in b2]
print b3

運行結果如下
代碼如下:[2, 3]
希望本文所述對大家的Python程序設計有所幫助。

閱讀全文

與列表轉集合python相關的資料

熱點內容
程序員老公燙頭 瀏覽:692
伺服器文件地址格式 瀏覽:129
securecrtandroid 瀏覽:176
短字元串壓縮 瀏覽:863
u盤插入後顯示加密格式化 瀏覽:944
我的世界怎麼用命令方塊獲得超級武器 瀏覽:382
狗語翻譯器app鏈接怎麼下 瀏覽:905
選擇排序演算法的流程圖 瀏覽:881
如何對文件夾開啟共享 瀏覽:527
常用的磁碟調度演算法 瀏覽:662
怎麼用返利app返利 瀏覽:127
java代碼快速 瀏覽:243
單片機左移右移後是補1還是0 瀏覽:599
湛江一號命令 瀏覽:333
導出命令行 瀏覽:274
C和php交互 瀏覽:600
蘋果手機里的通訊錄如何導入安卓手機 瀏覽:170
怎麼在京東app裡面看自己會員等級 瀏覽:43
emerson伺服器怎麼短接啟動 瀏覽:559
工控編程人員工資 瀏覽:398