在脉脉上看到一片在程序中对字符串拼接的实现,不用+号如何完成字符串拼接,大概看了下评论,大部分都是说在java中实现不使用+号,完成字符串的拼接操作,在此之前我也是安装以往经验for循环遍历列表使用+号完成字符串拼接操作,今天尝试使用非+号完成字符串的拼接操作,一下拼接一个条件sql的拼接实现

例句sql是链接到hive库进行的查询操作
代码如下

imsis = ('460020291****15', '46002029****6391') # 构造新数列 # i = "(" # for s in imsis: # i = i + s + "," # i = i.strip(',') + ")" items = ('460020291****15', '46002029****6391') items_tmp = ",".join(items) items_str = "%s%s%s" %("(", items_tmp, ")") if imsis: sql = "select bill_id, imsi as IMSI from data_tmp.bill_imsi where imsi in %s limit 10" %items_str else: sql = "select bill_id, imsi as IMSI from data_tmp.bill_imsi limit 10" print(sql) con2hive(sql=sql)

注释:
items_tmp = ",".join(items) 实现对元组items根据,以逗号“,”进行分割组成新字符con2hive(sql=sql) 调用链接hive数据仓库的执行函数
输入内容如下

注:列表或元组中必须为字符串才能使用join进行拼接