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 ...
随机推荐
- window.navigator.standalone 检测iOS WebApp是否运行在全屏模式
iOS上的Safari浏览器可以让Web应用程序全屏显示,以取得类似本地应用的显示效果.但是这需要用户把Web应用程序的图标添加到主屏幕才可以.作为开发者,为了更好的显示效果,我们可能希望自己开发的W ...
- 【bzoj4401】块的计数 结论题
题目描述 给出一棵n个点的树,求有多少个si使得整棵树可以分为n/si个连通块. 输入 第一行一个正整数N,表示这棵树的结点总数,接下来N-1行,每行两个数字X,Y表示编号为X的结点与编号为Y的结点相 ...
- HDU3480:Division——题解
http://acm.hdu.edu.cn/showproblem.php?pid=3480 将一列数划分成几个集合,这些集合的并集为该数列,求每个数列的(最大值-最小值)^2的和的最小值. 简单的d ...
- React setState和修改props触发的钩子
1. setState的改变会触发4个生命周期钩子 shouldComponentUpdatecomponentWillUpdaterendercomponentDidUpdate 2. props的 ...
- 直通BAT面试算法精讲课2
对于一个int数组,请编写一个冒泡排序算法,对数组元素排序. 给定一个int数组A及数组的大小n,请返回排序后的数组. 测试样例: [1,2,3,5,2,3],6 [1,2,2,3,3,5] clas ...
- Educational Codeforces Round 6 B
B. Grandfather Dovlet’s calculator time limit per test 1 second memory limit per test 256 megabytes ...
- Moodle简介
Moodle简介 一.概述 Moodle是Modular Object-Oriented Dynamic Learning Environment(模块化面向对象动态学习环境)的简称,中文译名为魔灯, ...
- crontab 定期拉取代码
* * * * * cd /home/wwwroot/default/lion/ && /usr/bin/git pull origin 5hao >> /tmp/git. ...
- Linux系统iptables查看、设置、保存、备份和恢复
不同linux系统,相关软件是否安装,会让iptables的某些命令不能执行,这里收集了大多数iptables命令,不管是Ubuntu还是Centos,都能找到相关的修改.查询.保存命令. 仅允许某些 ...
- Android LayoutInflater深度解析
1. 题外话 相信大家对LayoutInflate都不陌生,特别在ListView的Adapter的getView方法中基本都会出现,使用inflate方法去加载一个布局,用于ListView的每个I ...