为了账号安全,请及时绑定邮箱和手机立即绑定

6-9为什么这么输出有没有大神解释一下,x[0]不应该是第一个吗,他里面的括号是什么意思,不应该是括号里面的算一个元素吗,还有,为什么后面写的是‘,’不是+

print x[0]+':',x[1]

正在回答

4 回答

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 的第二个参数,用 , 逗号连接。


0 回复 有任何疑惑可以回复我~

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(*objectssep=' 'end='\n'file=sys.stdoutflush=False)

end默认等于的是一个换行符号

sep是print打印的开始 

end是结尾


0 回复 有任何疑惑可以回复我~

set对象是由[('Adam', 95), ('Lisa', 85), ('Bart', 59)] 列表对象生成的,列表对象是由元组对象组成的,就相当于('Adam', 95)是set对象的一个key ,循环去key后,key[0] key[1]分别取元组的两个字

2 回复 有任何疑惑可以回复我~
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 的第二个参数,用 , 逗号连接。


17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758623    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

6-9为什么这么输出有没有大神解释一下,x[0]不应该是第一个吗,他里面的括号是什么意思,不应该是括号里面的算一个元素吗,还有,为什么后面写的是‘,’不是+

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信