您的位置:首页 > 编程语言 > Python开发

【Python】简单例题tuple和list的转换;实现删除一个list里重复的元素;对list a进行排序,并且从最后一个开始删除重复元素

2014-05-24 13:20 1321 查看
1. tuple和list的转换:

使用type()判断类型,然后使用tuple()和list()函数

>>> a = [1, 2, 3]
>>> type(a)
<class 'list'>
>>> a = tuple(a)
>>> a
(1, 2, 3)
>>> a = dict(a)


2. 实现删除一个list里重复的元素

集合 class set (object):Build an unordered collection of unique elements. 无序不重复元素的集合。

有union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算. 

也有一般的copy(),clear(),pop(),remove()等方法

作为一个无序的集合,sets不记录元素位置或者插入点。因此,sets不支持 indexing, slicing, 或其它类序列(sequence-like)的操作。 

sets 支持 x in set, len(set),和 for x in set。

a=[1,2,4,2,4,5,6,5,7,8,9,0]
a = list(set(a))
>>> a
[0, 1, 2, 4, 5, 6, 7, 8, 9]
或者将list放入一个dict里作为key, 因为dict里的key必然是唯一的,则会自动删除重复的元素

>>> help(dict.fromkeys)

Help on built-in function fromkeys:

fromkeys(...)

    dict.fromkeys(S[,v]) -> New dict with keys from S and values equal to v.

    v defaults to None.

>>> a=[1,2,4,2,4,5,6,5,7,8,9,0]
>>> b = {}
>>> b = b.fromkeys(a)
>>> c = list(b.keys())
>>> c
[0, 1, 2, 4, 5, 6, 7, 8, 9]
>>>


3.对list a进行排序,并且从最后一个开始删除重复元素

a=[1,2,4,2,4,5,7,10,5,5,7,8,9,0,3]
a.sort()
last = a[-1]
for i in range(len(a)-2, -1, -1):
if last == a[i]:
del a[i]
else:
last = a[i]

print(a)
>>> ================================ RESTART ================================
>>>
[0, 1, 2, 3, 4, 5, 7, 8, 9, 10]
>>>

>>> for i in range(len(a) - 2, -1, -1):
print(i)

13
12
11
10
9
8
7
6
5
4
3
2
1
0
>>> b = len(a)
>>> b
15
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐