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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构