Python 2.7,Windows 10
我有一个代码,该代码查找excel文件的所有工作表名称,然后放入然后拆分字符串并将其放入列表中。我的代码的下一步需要将文件路径附加到列表中的工作表名称中。文件路径将是一个常量变量。
我意识到此代码是错误的,但我基本上只需要能够执行以下操作:
List = ['test1', 'test2', 'test3']
for i in list
print("file_Path" + i)
'file_path test1'
'file_path test2'
但是我需要它来更新列表或追加到新列表而不是打印。什么是最好的方法来做到这一点。我一直很难找到一个好的答案,但是我意识到自己可能在错误的位置进行搜索。
谢谢!
答案 0 :(得分:1)
正如评论部分中的人所建议的那样,您最好的选择是使用列表理解,
['file_Path ' + i for i in List]
现在,我想添加一个答案,因为我想补充一点,List
绝对不是为您list
对象命名的好选择。
除了list
关键字
(例如sheet_names
)
sheet_names = ['test1', 'test2', 'test3']
sheet_names = ['file_Path ' + i for i in sheet_names]
print(sheet_names)
>>>>['file_Path test1', 'file_Path test2', 'file_Path test3']
答案 1 :(得分:0)
我认为这将是更好的方法,因为我经常使用它
oldList = ['test1','test2','test3']
newList = list(map(lambda a:"file path "+a,oldList))
看起来很实用
答案 2 :(得分:0)
list = ['test1', 'test2', 'test3']
for i in range(len(list)):
list[i] = 'file_path ' + list[i]
或使用列表理解:
list = ['test1', 'test2', 'test3']
new_list = ['file_path ' + item for item in list]
答案 3 :(得分:0)
您可以使用列表理解来执行此任务-
List = ['test1', 'test2', 'test3']
file_path = 'your/file/path'
newList = [file_path+SheetName for SheetName in List]
或者您可以使用map + lambda组合-
newList = list(map(lambda x: file_path+x , List))
答案 4 :(得分:0)
只需使用列表理解:
List = ['test1', 'test2', 'test3']
file_paths = ['file_path: %s' % (fp,) for fp in List]
答案 5 :(得分:0)
您可以尝试使用map
和add
的组合,在元素上明智地添加两个列表。
from operator import add
test = ['test1', 'test2', 'test3']
path = ['file_Path '] * len(test)
list(map(add, path, test))
输出
['file_Path test1', 'file_Path test2', 'file_Path test3']