鱼C论坛

 找回密码
 立即注册
查看: 2702|回复: 9

[已解决]python,列表,赋值012会出错

[复制链接]
发表于 2016-7-9 20:56:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 Beau 于 2016-7-9 21:04 编辑
  1. test = [123, 456, 789, 012, 345]

  2.   File "hha.py", line 1
  3.     test = [123, 456, 789, 012, 345]
  4.                                       ^
  5. SyntaxError: invalid token
复制代码


怎样将012赋值给列表呢?


  1. test = [-1000, 100, 14, 73, 12, 35]
  2. test.sort()
  3. print(test)
  4. ss = test.sort(reverse=True)
  5. print(ss)
复制代码


[-1000, 12, 14, 35, 73, 100]
None


结果为什么是None

最佳答案
2016-7-9 23:03:44
>>> test = [-1000, 100, 14, 73, 12, 35]
>>> test
[-1000, 100, 14, 73, 12, 35]
>>> test.sort()
>>> test
[-1000, 12, 14, 35, 73, 100]
>>> test.sort(reverse = True)
>>> test
[100, 73, 35, 14, 12, -1000]
>>> print(test)
[100, 73, 35, 14, 12, -1000]
>>> ss = test.sort(reverse = True)
>>> ss
>>> print(ss)
None

根据这个结果可以看出来列表类型的对象在调用自身函数sort的时候是没有返回值的,而是返回列表对象本身.但这个时候你如果试图将这个值赋值给其他变量,其实sort方法没有返回值,从而print的时候其结果自然是None.
希望对你有帮助!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-7-9 21:04:33 | 显示全部楼层
012是什么?
如果是数字,那用12就是了,
如果是字符就用“012”
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-9 23:03:44 | 显示全部楼层    本楼为最佳答案   
>>> test = [-1000, 100, 14, 73, 12, 35]
>>> test
[-1000, 100, 14, 73, 12, 35]
>>> test.sort()
>>> test
[-1000, 12, 14, 35, 73, 100]
>>> test.sort(reverse = True)
>>> test
[100, 73, 35, 14, 12, -1000]
>>> print(test)
[100, 73, 35, 14, 12, -1000]
>>> ss = test.sort(reverse = True)
>>> ss
>>> print(ss)
None

根据这个结果可以看出来列表类型的对象在调用自身函数sort的时候是没有返回值的,而是返回列表对象本身.但这个时候你如果试图将这个值赋值给其他变量,其实sort方法没有返回值,从而print的时候其结果自然是None.
希望对你有帮助!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-10 00:08:11 | 显示全部楼层
小火木 发表于 2016-7-9 21:04
012是什么?
如果是数字,那用12就是了,
如果是字符就用“012”

非常感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-10 00:08:48 | 显示全部楼层
grapegirl 发表于 2016-7-9 23:03
>>> test = [-1000, 100, 14, 73, 12, 35]
>>> test
[-1000, 100, 14, 73, 12, 35]

非常感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-10 03:50:02 | 显示全部楼层
本帖最后由 SixPy 于 2016-7-10 03:58 编辑

012
0开头的数字在c语言中是8进制的表示法
python中用字符串表示8进制数 oct(8) --> '0o10'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-10 14:17:22 | 显示全部楼层
SixPy 发表于 2016-7-10 03:50
012
0开头的数字在c语言中是8进制的表示法
python中用字符串表示8进制数 oct(8) --> '0o10'

恩,好棒,我顺手试了一下0o12,也就是说0开头后面应该有个o不然会报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-10 15:08:05 | 显示全部楼层
qqq111 发表于 2016-7-10 14:17
恩,好棒,我顺手试了一下0o12,也就是说0开头后面应该有个o不然会报错

二进制
0b10

八进制
0o10

十六进制
0x10

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-10 15:30:33 | 显示全部楼层
012,如果想赋值012给列表的话,只能把它变成字符串的形式,否则只能写12

  1. test = [-1000, 100, 14, 73, 12, 35]
  2. test.sort()
  3. print(test)
  4. test.sort(reverse=True)
  5. print(test)
复制代码


结果是:

  1. [-1000, 12, 14, 35, 73, 100]
  2. [100, 73, 35, 14, 12, -1000]
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-10 15:46:11 | 显示全部楼层

明白啦!谢谢~~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 15:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表