导航:首页 > 编程语言 > 列表转集合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相关的资料

热点内容
如何拨号到中央服务器 浏览:648
中国天才少年程序员 浏览:352
编程思想pdf 浏览:282
加密欧美航线 浏览:48
svn怎么看服务器的地址 浏览:187
骑马与砍杀1命令部队用盾牌 浏览:595
光缆pdf 浏览:350
加密流量实时监测 浏览:628
360压缩和好压哪个好 浏览:61
python判断变量是否为list 浏览:906
云服务器1m带宽表示什么意思 浏览:702
429升冷柜用多大压缩机 浏览:116
决策树算法java实现 浏览:376
androidtv开发焦点控制 浏览:328
论人的成长pdf 浏览:282
python网站源代码 浏览:827
手机文件压缩器怎么安装 浏览:112
androidsdk封装 浏览:266
微信加密不知道怎么取消 浏览:705
分析算法设计程序编写 浏览:843