join()合并有两个疑问
join()合并时间计算问题。append()在列表中实现了列表创建,虽然没有将列表中每个对象进行连接,但已经完成了列表对象的排列。join()合并时间测试是否应该以列表创建创建完成起算?
代码:
import time T0=time.time() li=[] for i in range(10000000): li.append('sxt') T1=time.time() a=''.join(li) T2=time.time() print('列表创建时间:{}'.format(T1-T0)) print('join()合并时间:{}'.format(T2-T1)) print('程序运行总时间:{}'.format(T2-T0))
执行结果:
列表创建时间:1.6939454078674316 join()合并时间:0.1049344539642334 程序运行总时间:1.798879861831665 >>>
join()使用环境导致的结果差异。在开发环境中jion()列表合并结果仍为列表,未实现字符串的连接,在解释器中可实现字符连接。为什么会出现这样的情况?
开发环境中代码:
for i in range(3): li.append('sxt') print('循环内列表:{}'.format(li)) a=''.join(li) print('最终列表:{}'.format(li))
运行结果:
循环内列表:['sxt'] 循环内列表:['sxt', 'sxt'] 循环内列表:['sxt', 'sxt', 'sxt'] 最终列表:['sxt', 'sxt', 'sxt'] >>> a=''.join(li) >>> a 'sxtsxtsxt' >>>
老师,我的复制系统回应,没有办法访问,怎么办?
package IO小练习;
import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;
public class Test文件夹的复制 { public static void main(String[] args) { Test文件夹的复制 ui=new Test文件夹的复制(); File op=new File("D:\\test.txt"); File ip=new File("D:\\test04.txt"); ui.copy(op,ip); File lp=new File("D:\\zzx"); File ij=new File("D:\\zzx02"); ui.copy(lp, ij); } //复制所有目录下的文件 public void copydir(File src,File url) { if(!url.exists())//如果文件夹不存在,首先要进行创建文件夹。 { url.mkdir(); } File[] op=src.listFiles();//获取指定目录下所有的文件。 for (File file : op) { if(file.isFile())//如果是目录那么就复制 { copy(new File(src+"\\"+file.getName()),new File(url+"\\"+file.getName())); } else { copydir(new File(src+"\\"+file.getName()),new File(url+"\\"+file.getName())); } } } //复制一个目录下的文件 public void copy(File src,File url) { BufferedInputStream io=null; BufferedOutputStream up=null; try { io=new BufferedInputStream(new FileInputStream(src)); up=new BufferedOutputStream(new FileOutputStream(url)); byte[] i= new byte[1024]; int len=0; while((len=io.read(i))!=-1) { System.out.println(new String(i,0,len)); up.write(i); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { if(up!=null) { try { up.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { io.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }}
老师我还是连接不上,防火墙也关了,也刷新了,就是连接不成功。
老师,我一加完配置就已经生效了。都不用加临时有效,不懂为啥。
老师,你好,图中红框中的这些是用哪个快捷键自动补全的?
在说bye退出循环的过程中,即是咨询者说了bye,也只有等客服的receive程序退出循环以后,咨询者send程序才会退出循环,这是为什么? 为什么send程序在遇到bye时不直接退出循环,非得等到receive退出循环后才退出循环?
老师您好:
hive select出来的结果比load进去的少了一部分。MAP部分少了
原root目录下的文件内容。
hdfs里面的数据
select 出来的结果,少了一部分(部分记录行少),why?
windows有两个版本,一个exe,一个zip,我该下载哪一个呀?
def __new__(cls, *args, **kwargs): print("new") return super(AA,cls).__new__(cls)
老师,这个new的含义我还是没懂,必须有个返回值吗,返回的是父类的什么
使用ResourcesBundle获取properties文件里的配置属性来写JdbcUtils会报 java.lang.NoClassDefFoundError的错误,但是用Properties类不会。这是为什么?和前面同学的问题是相同的,肯定不是包没导。
在字符输入流当中,下面有一句
int i=0;
while((i=ol.read())!=-1) { System.out.println((char)i);}
i指返回读到的个数,出来是数字,但是怎么能在输出的时候出现强制转变?而且答案还是对的。
表格包括对象吗? 或者可以这样理解吗?
count=1salary=0print("请输入12个月工资:")while True: s=input("请输入{0}月的月薪:".format(count)) if count>11: break if float(s)<0: continue count+=1 salary+=float(s)print("你的年薪为:{0}".format(salary))print("平均工资:{0}".format(salary/count))
如果输入不是数,需重新输入,如何改?
re v = re.split(, ) (v)
老师,
r',|-|:'
这个最后为什么要加':'呢,前面为什么没有':’呢
你好,老师 我按照视频上的方法怎么修改不成功 提示如图、
是怎么回事?
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637