6-9为什么这么输出有没有大神解释一下,x[0]不应该是第一个吗,他里面的括号是什么意思,不应该是括号里面的算一个元素吗,还有,为什么后面写的是‘,’不是+
print x[0]+':',x[1]
print x[0]+':',x[1]
2019-02-24
s = set(['Adam', 'Lisa', 'Paul'])
L = ['Adam', 'Lisa', 'Bart', 'Paul']
for name in L:
if name in s:
s.remove(name)
else:
s.add(name)
print s
第一个问题:
x 是 set([...]) 里面的三个元素,即三个 tuple,分别是('Lisa', 85), ('Adam', 95), 和 ('Bart', 59),(见上面代码 print x 语句的输出结果);
而题目中想要的结果 name: score,是元组中的内容,并非元组。所以通过 x[0], 和 x[1] 来提取元组中的 name 和 score,并按指定格式 name: score 输出(见上面代码 print x[0] + ": ", x[1])。
第二个问题:
首先澄清:x[0] (即'Lisa'、'Adam'、'Bart'等),是字符串;": "也是字符串;但是,x[1](即95,85,59等)是整型数字,并非字符串。
+加号,是连接字符串的操作。所以,x[0] 可以与 ": " 执行 + 操作,两字符串连接成一个整字符串,是 print 输出的第一个参数。
x[1] 是 print 的第二个参数,用 , 逗号连接。
s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59),('name','score')])
s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59),('name','score')])
for x in s:
print(x[0]+":"+str(x[1]))
第一个x[0] 我们看一下这个for循环
for x in s: x的值就是遍历s这个集合里面的每一个元素
for循环第一次的时候x = ('Adam', 95)
x[0] = 'Adam' x[1] = 95 是这样一个逻辑
第二次循环x = ('Lisa', 85) 以此类推
第二个问题 为什么是逗号不是加号
print
(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
这是查手册print的参数
相当与 x[0]和":"是字符串 逗号后面是x[1] int类型 带入到print方法中就是这样的
print(sep = x[0]+":",end = x[1])
print打印可以格式化 end=[1]之后他就不会自动换行了 可以看上面手册的方法
print
(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
end默认等于的是一个换行符号
sep是print打印的开始
end是结尾
s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)]) for x in s: print x # 输出结果为:('Lisa', 85), ('Adam', 95), ('Bart', 59) # print x[0] + ": ", x[1] #输出结果为:Lisa: 85, Adam: 95, Bart: 59
第一个问题:
x 是 set([...]) 里面的三个元素,即三个 tuple,分别是('Lisa', 85), ('Adam', 95), 和 ('Bart', 59),(见上面代码 print x 语句的输出结果);
而题目中想要的结果 name: score,是元组中的内容,并非元组。所以通过 x[0], 和 x[1] 来提取元组中的 name 和 score,并按指定格式 name: score 输出(见上面代码 print x[0] + ": ", x[1])。
第二个问题:
首先澄清:x[0] (即'Lisa'、'Adam'、'Bart'等),是字符串;": "也是字符串;但是,x[1](即95,85,59等)是整型数字,并非字符串。
+加号,是连接字符串的操作。所以,x[0] 可以与 ": " 执行 + 操作,两字符串连接成一个整字符串,是 print 输出的第一个参数。
x[1] 是 print 的第二个参数,用 , 逗号连接。
举报