python - 列表操作 Python
问题描述
我有 2 个列表:
name_info = ['0.abc','450.xyz','7.garfunkl','Coma','Cancer']
XY_coorinfo = ['1234:5678', '2345:6543','3245:1234', '4587:2346', '6785:23987']
我想要的输出:
0,abc,1234,5678
450,xyz,2345,6543
7,garfunkl,3245,1234
,Coma,4587,2346
,Cancer,6785,23987
我想我需要列表操作,但不确定如何在两个列表上进行 1:1 匹配?我在里面尝试了一个IF
子句name_id
并且它有效,但我想要一个 else 子句来说明它是否找不到"."
让它为空?
def name_table(cur_ic,table_names, column_name,print_out=False ):
#print (table_names)
id = []
name_info = []
name_info = cur_ic.execute("SELECT nameandid FROM one_table ; " ).fetchall()
XY_Coordinfo = []
XY_Coordinfo = cur_ic.execute('''SELECT coor_rot FROM another_table WHERE id < '431'; ''').fetchall()
return name_info, XY_Coordinfo
def write_outfile(cur_ic, name_info, XY_coordinfo,print_out=True):
#print name_info, XY_Coordinfo
name_id = [x.split('.', 1)[0] for x in partitioninfo if '.' in x ]
if __name__ =='__main__':
sqlite_db = "sample.sqLiteDB"
conn_ic,cur_ic = connect(sqlite_db)
all_db_fetch(cur_ic, print_out=False)
table_names,column_name = all_db_fetch(cur_ic)
name_table(cur_ic,table_names,column_name, print_out=False)
name_info,XY_Coordinfo = info_table(cur_ic,table_names,column_name)
write_outfile(cur_ic, name_info, XY_coordinfo,print_out=True)
解决方案
用于zip()
同时迭代两个列表并迭代split
到join
所需的格式:
name_info = ['0.abc','450.xyz','7.garfunkl','Coma','Cancer']
XY_coorinfo = ['1234:5678', '2345:6543','3245:1234', '4587:2346', '6785:23987']
for x, y in zip(name_info, XY_coorinfo):
print(','.join(x.split('.') + y.split(':')))
# 0,abc,1234,5678
# 450,xyz,2345,6543
# 7,garfunkl,3245,1234
# Coma,4587,2346
# Cancer,6785,23987
对于确切的输出:
name_info = ['0.abc','450.xyz','7.garfunkl','Coma','Cancer']
XY_coorinfo = ['1234:5678', '2345:6543','3245:1234', '4587:2346', '6785:23987']
for x, y in zip(name_info, XY_coorinfo):
l, _ , r = x.partition('.')
if not r:
l = f',{l}'
print(','.join([l] + y.split(':')))
else:
print(','.join([l, r] + y.split(':')))
# 0,abc,1234,5678
# 450,xyz,2345,6543
# 7,garfunkl,3245,1234
# ,Coma,4587,2346
# ,Cancer,6785,23987
推荐阅读
- javascript - this.setState() 在本机反应中无法正常工作
- php - 如何限制共享主机上的 PHP 代码文件系统操作?
- ruby - 捆绑安装不起作用:Bundler::HTTPError 无法从 rubygems.org 获取规范
- flutter - 如果正文有两个脚手架,如何关闭应用程序页面
- xpath - 下一页的 Xpath - Scrapy
- javascript - React 防止焦点窃取 onClick
- python - 如何在 Heroku 中运行 UVICORN?
- python - 分类问题是否可以使用词嵌入 + 其他特征?
- excel - 通过比较名字、姓氏或中间名是否匹配来比较两个单元格中的名称。使用 vba 代码匹配最多 70%
- c# - 如何从类库中获取嵌入式资源?