python基础===* 解包,格式化输出和print的一点知识
python3中的特性:
>>> name = "botoo"
>>> print(f"my name is {name}")
my name is botoo
等价于:
>>> print("my name is {}".format(name))
my name is botoo
再看list,如果我们想打印一个list的每个内容,例如我想输出0,1,2,3,4,5,6,7,8,9的格式
>>> L = list(range(10))
>>> for l in L:
print(l) 0
1
2
3
4
5
6
7
8
9
显然是不行的,所以能想到的是,给print()函数的end参数进行更改:
>>> for l in L:
print(l, end=",") 0,1,2,3,4,5,6,7,8,9,
于是得到了这样的答案,但是最后多了一个逗号。这个是可以通过代码进行去掉的:
>>> for i in L:
if i != L[-1]:
print(i,end = ",")
else:
print(i) 0,1,2,3,4,5,6,7,8,9
至此我们发现,整个过程很繁琐,也很复杂。
有没有更简单的方式,更pythonic的代码
基于此,想到了前几天用*对函数参数解包的作用,代码如下:
>>> def func(a,b,c):
print(a+b+c) >>> arg = (1,2,3)
>>> func(*arg)
6
*将arg的每一项分配给了func函数,而这个过程中*的作用就是解包
于是,再次尝试:
>>> print(*L)
0 1 2 3 4 5 6 7 8 9
果然可行,再加入,号就可以成功。
>>> print(*L,sep = ",")
0,1,2,3,4,5,6,7,8,9
(关于print()函数的sep,和end参数的用法自行百度。)
当然,还有方法就是使用.join(),网上说明很多,故不再赘述。
print(",".join([str(i) for i in L]))
0,1,2,3,4,5,6,7,8,9
python基础===* 解包,格式化输出和print的一点知识的更多相关文章
- Python基础一(格式化输出、流程控制)
(1)格式化输出(%% 第一个% 转译) # 格式化 输入 输出 name = input("Name:") age = input("Age:") job = ...
- Python小代码_2_格式化输出
Python小代码_2_格式化输出 name = input("name:") age = input("age:") job = input("jo ...
- Python的三种格式化输出
今天刚学了python的三种格式化输出,以前没接触过这么有趣的输出方式,现在来分享一下. #!/user/bin/env python#coding:utf-8#三种格式化输出 #第一种格式化输出na ...
- Python基础篇--输入与输出
站长资讯平台:Python基础篇--输入与输出在任何语言中,输入和输出都是代码最基础的开始,so,先来聊一聊输入和输出输出输入END在任何语言中,输入和输出都是代码最基础的开始,so,先来聊一聊输入和 ...
- python之while循环/格式化输出/运算符/初始编码/成员变量
一.主要内容:1.while 循环 (难点)while 条件: 循环体 break: 直接跳出循环continue:停止当前本次循环,继续执行下一次循环.不会中断循环能让循环退出:(1)break ( ...
- Python序列解包
元组的序列解包range对象的序列解包迭代对象的序列解包列表的序列解包字典的序列解包序列解包与遍历序列解包的其它用法 元组的序列解包 x,y,z = (1,2,3) print(x,y,z) 1 2 ...
- 基础数据类型,格式化输出,以及for循环的使用
基础数据类型总览 int :数字类型,可以+-*/等等操作 str:字符串类型,存储少量的数据,+*int 切片等 bool :里面包含True,False这两种值,用来判断真假. list :列表 ...
- python文件操作及格式化输出
1 文件与IO 1.1读写文本数据 读写各种不同的文本数据,如ASCII,UTF-8,UTF-9编码等. 使用带有rt模式的open()函数读取文本文件. 例如: with open('db', 'r ...
- python - 用户交互/数据类型/格式化输出/运算符/流程控制单双多分支
python:用户交互: 等用户输入,做反应: username=input("username:")password=input("password:")pr ...
随机推荐
- BZOJ 1834 网络扩容(最大流+费用流)
对于第一问,直接求最大流. 对于第二问,建源点s和汇点t,s连1容量为INF,费用为0的边,n连t容量为最大流+k,费用为0的边.这样就把最大流限制为最多增加k了. 限制需要求扩充的最小费用,原图的边 ...
- 【题解】51nod1967 路径定向
第一次写欧拉回路,实际上只要dfs下去就可以了,反正每条边都是要遍历一遍的…… 关键有两个性质:1.一个无向图存在欧拉回路,当且仅当该图所有顶点度数都为偶数,且该图是连通图.2.一个有向图存在欧拉回路 ...
- PHP导出excel,无乱码
php部分 header("Content-type:application/octet-stream"); header("Accept-Ranges:bytes&qu ...
- 关于Mybatis的@Param注解 及 mybatis Mapper中各种传递参数的方法
原文:https://blog.csdn.net/mrqiang9001/article/details/79520436 关于Mybatis的@Param注解 Mybatis 作为一个轻量级的数 ...
- Spring面试,IoC和AOP的理解(转)
spring 的优点?1.降低了组件之间的耦合性 ,实现了软件各层之间的解耦 2.可以使用容易提供的众多服务,如事务管理,消息服务等 3.容器提供单例模式支持 4.容器提供了AOP技术,利用它很容易实 ...
- Educational Codeforces Round 6 C
C. Pearls in a Row time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- bzoj 4414 数量积 结论题
数量积 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 389 Solved: 147[Submit][Status][Discuss] Descri ...
- HDU1078记忆化搜索
FatMouse and Cheese Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Othe ...
- 分析一个贴图社交app的失败原因:FORK(相机)
FORK(相机)是一个通过分享图片来建立社交的app,它有着鲜明的配色,还算不错的贴图创新,细腻的产品设计,但是由于产品定位不清晰.设计亮点不多以及推广不利,从2014年5月第一版开始就没有火过.所以 ...
- [freemarker篇]05.关于集合的遍历
人啊,有的时候就是没有办法坚持一些事情,总是因为各种理由在推脱,逐渐就变成了拖延症!例如胖先生的减肥计划,其实本来就没有计划,属于散漫形式的!一直减肥,一直在肥!总是说没有时间,没有时间!其实有时候就 ...