python数据类型之列表(二)
列表基础详见:https://www.cnblogs.com/gaofeng-01/p/16788576.html
列表相关题目
1、列表去重
# ①利用集合没有重复元素的特性,通过set()方法
lst1 = ['a', 'dc', 'abc', 'ab', 'abc', 'a', 'ab', 'ac', 'c']
lst2 = sorted(set(lst1)) # 先转成集合,再生成新列表。
# ②利用字典的键遵循不重复原则,可利用字典的方法进行去重
lst3 = dict.fromkeys(lst1).keys()
# ③遍历列表再依次判断
lst4 = []
[lst4.append(i) for i in lst1 if i not in lst4]
# ④通过count()方法判断删除出现过2次+的元素
[lst1.remove(lst1[lst1.index(j)]) for j in lst1 if lst1.count(j) >= 2]
# ⑤和④相反,通过count()方法判断留下只出现过1次的元素,但是这种方法会把重复的元素全部删掉
lst5 = ['a', 'dc', 'abc', 'ab', 'abc', 'a', 'ab', 'ac', 'c']
lst6 = []
[lst6.append(k) for k in lst5 if lst5.count(k) == 1]
2、将列表转为不包含'[]'的字符串
# 将列表转为不包含'[]'的字符串
a = ['a', 1, 2, 3, 4, [5, 6]]
str1 = ''
for i in a:
if isinstance(i, str):
str1 = str1+i
elif isinstance(i, list):
for j in i:
if isinstance(j, str):
str1 = str1 + j
else:
str1 = str1 + str(j)
else:
str1 = str1 + str(i)
print(str1)
3、有一个多层嵌套列表A=[1,2,[3,4,['434',[...]]]],请写一段代码遍历A中的每个元素并打印出来
A = [1, 2, [3, 4, ['434', [...]]]]
B = []
def loop_items(lst):
for i in lst:
if isinstance(i, list):
return loop_items(i)
else:
B.append(i)
return B

浙公网安备 33010602011771号