鱼C论坛

 找回密码
 立即注册
查看: 584|回复: 16

数字转换为列表

[复制链接]
发表于 2020-4-4 22:02:36 | 显示全部楼层 |阅读模式

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

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

x
问题1:
请问如果将一个数字转换成列表:如,a=15 ,转换成[15]。不是转换成[1,5]

问题2:
请问python是否有连接符,如a="'",b="xy", a和b相连,就变成 ‘xy,用加感觉效率特别底,特别是当b是数字的时候,还有能直接相加,还要转换一下。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-4 22:06:07 | 显示全部楼层
1:
>>> a = 15
>>> b = []
>>> b.append(a)
>>> b
[15]
当然,你也可以:
>>> c = [a]
>>> c
[15]
2,没有听明白你的问题?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-4 22:12:48 | 显示全部楼层
qiuyouzhi 发表于 2020-4-4 22:06
1:

当然,你也可以:

感谢。第二问题就是说的。
有没有类似&这种连接符。我记得VBA不管什么是数字还是字符,都能用&连接,最后就是一个字符串,特别好用,在python中老是报错。有没有什么方法实现&的功能。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-4 22:14:05 | 显示全部楼层
本帖最后由 隔壁繁星吖 于 2020-4-4 22:18 编辑

1.
>>> a = 15
>>> b = []
>>> b.append(a)

2.
#方法一
>>>website = 'python' + 'tab' + '.com'
#方法2
>>>listStr = ['python', 'tab', '.com'] 
>>>website = ''.join(listStr)
#方法3:
>>>website = '%s%s%s' % ('python', 'tab', '.com')
        接下来探究效率问题:
        方法一:之所以说python 中使用 + 进行字符串连接的操作效率低下,是因为python中字符串是不可变的类型,使用 + 连接两个字符串时会生成一个新的字符串,生成新的字符串就需要重新申请内存,当连续相加的字符串很多时(a+b+c+d+e+f+...) ,效率低下就是必然的了
        方法2:使用略复杂,但对多个字符进行连接时效率高,只会有一次内存的申请。而且如果是对list的字符进行连接的时候,这种方法是首选
        方法3:字符串格式化,这种方法非常常用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-4 22:14:55 From FishC Mobile | 显示全部楼层
qiuyouzhi 发表于 2020-4-4 22:06
1:

当然,你也可以:

2,他的意思是说字符串和数值进行混连接
就像js一样,js中"abc"+567与"abc"+"567"
会得到一样的结果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-4 22:19:31 | 显示全部楼层

那如果是这样呢:
a=123
b="nihao"
a+b感觉就不行了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-4 22:24:41 | 显示全部楼层

您这个方法3,提前得知道对应类型才可以。如果不知道就比较麻烦了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-4 22:25:26 | 显示全部楼层
高义校长 发表于 2020-4-4 22:24
您这个方法3,提前得知道对应类型才可以。如果不知道就比较麻烦了。

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

使用道具 举报

发表于 2020-4-4 23:10:14 From FishC Mobile | 显示全部楼层
问题二可以用字符串格式化方法解决啊
a=123
b="abc"
c=f"{a}{b}"
print(c)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-4 23:47:29 | 显示全部楼层

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

使用道具 举报

发表于 2020-4-4 23:51:17 | 显示全部楼层

a=123
b="nihao"
print('{}{}'.format(a,b))

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

使用道具 举报

发表于 2020-4-5 08:34:19 | 显示全部楼层
高义校长 发表于 2020-4-4 22:12
感谢。第二问题就是说的。
有没有类似&这种连接符。我记得VBA不管什么是数字还是字符,都能用&连接,最 ...


可以用格式化操作符。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-5 10:19:04 | 显示全部楼层
高义校长 发表于 2020-4-4 22:12
感谢。第二问题就是说的。
有没有类似&这种连接符。我记得VBA不管什么是数字还是字符,都能用&连接,最 ...

python是强类型语言,要想实现这个就写函数
func=lambda *vals,sep='':sep.join(map(str,vals))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-5 13:17:14 | 显示全部楼层
高义校长 发表于 2020-4-4 22:12
感谢。第二问题就是说的。
有没有类似&这种连接符。我记得VBA不管什么是数字还是字符,都能用&连接,最 ...

没有的,必须要将数据转化为字符串。或者使用格式化操作符:
>>> a = 123
>>> b = 'abc'
>>> print(f'{a}{b}')
123abc
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-5 13:32:19 From FishC Mobile | 显示全部楼层
隔壁繁星吖 发表于 2020-4-4 22:14
1.

2.

% 效率略低,推荐使用 f'string'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-5 13:33:23 From FishC Mobile | 显示全部楼层
高义校长 发表于 2020-4-4 22:24
您这个方法3,提前得知道对应类型才可以。如果不知道就比较麻烦了。

明确类型后,就不至于因为类型报错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-5 13:35:00 From FishC Mobile | 显示全部楼层
>>> a = 15
>>> [a]
[15]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-25 23:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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