Python:为列表中的所有元素添加相同的前缀
假设我有以下Python列表:Python:为列表中的所有元素添加相同的前缀,python,list,loops,add,prefix,Python,List,Loops,Add,Prefix,假设我有以下Python列表: ['7831-0', nan, '3165-0', '7831-0', '7831-1'] 我想向上述列表中的每个元素添加相同的前缀('add_u')。我还想从列表中删除nan。我想要的输出列表如下: list = ['ADD_7831-0', 'ADD_3165-0', 'ADD_7831-0', 'ADD_7831-1'] 我尝试了以下代码: prefix_ADD = 'ADD_' new_list = [prefix_ADD + x for x in
['7831-0', nan, '3165-0', '7831-0', '7831-1']
我想向上述列表中的每个元素添加相同的前缀('add_u')。我还想从列表中删除nan。我想要的输出列表如下:
list = ['ADD_7831-0', 'ADD_3165-0', 'ADD_7831-0', 'ADD_7831-1']
我尝试了以下代码:
prefix_ADD = 'ADD_'
new_list = [prefix_ADD + x for x in list]
但我得到了以下错误:
TypeError: must be str, not float
[如果不是str(x)=“nan”,则为列表中的x添加+x前缀]
有一种方法可以过滤掉nan,这可能是一种不太优雅的解决方案,但这样如何:
new_list=[]
old_list = ['7831-0', nan, '3165-0', '7831-0', '7831-1']
prefix_ADD = 'ADD_'
for x in old_list:
if x != nan:
new_list.append(prefix_ADD + x)
print(new_list)
# ['ADD_7831-0', 'ADD_3165-0', 'ADD_7831-0', 'ADD_7831-1']
@松子[0]-对熊猫感兴趣?
new_list=[]
old_list = ['7831-0', nan, '3165-0', '7831-0', '7831-1']
prefix_ADD = 'ADD_'
for x in old_list:
if x != nan:
new_list.append(prefix_ADD + x)
print(new_list)
# ['ADD_7831-0', 'ADD_3165-0', 'ADD_7831-0', 'ADD_7831-1']