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 ...
随机推荐
- java 写入int型时会自动转换成字符
java 写入int型时会自动转换成字符
- BZOJ 1076 奖励关(状压期望DP)
当前得分期望=(上一轮得分期望+这一轮得分)/m dp[i,j]:第i轮拿的物品方案为j的最优得分期望 如果我们正着去做,会出现从不合法状态(比如前i个根本无法达到j这种方案),所以从后向前推 如果当 ...
- Go语言【第三篇】:Go变量和常量
Go语言变量 变量来源于数学,是计算机语言中能存储计算结果或能表示值抽象概念.变量可以通过变量名访问.Go语言变量名由字母.数字.下划线组成,其中首字母不能为数字,声明变量的一般形式是使用var关键字 ...
- (二)MySQL学习笔记
1.视图 视图是一系列select语句返回的可视化结果集,是一张虚拟表.更多介绍请查看http://tool.oschina.net/apidocs/apidoc?api=mysql-5.1-zh 视 ...
- bzoj1208: [HNOI2004]宠物收养所 (sbt)
切傻逼题还能wa那么多次我也是醉了 好啦其实是sbt都不会敲了(一直用神器treap) 重点是研究了下陈大神的删除,以前treap的删除都是直接旋转去删的…… 还是treap大法好&…… 题解 ...
- BZOJ4034:[HAOI2015]树上操作——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=4034 https://www.luogu.org/problemnew/show/P3178 有一棵 ...
- Linux系统上的popen()库函数
popen可以是系统命令,也可以是自己写的程序a.out. 假如a.out就是打印 “hello world“ 在代码中,想获取什么,都可以通过popen获取. 比如获取ls的信息, 比如获取自己写的 ...
- The Usage of Pymongo
Install pymongo document install pymongo from the tar package download from website python setup.y i ...
- jquery 操作实例一
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- PhoneGap API介绍:Camera
本文将介绍PhoneGap API——Camera:使用设备的摄像头采集照片,对象提供对设备默认摄像头应用程序的访问. 方法: camera.getPicture 参数: cameraSuccess ...