数字转换为列表
问题1:请问如果将一个数字转换成列表:如,a=15 ,转换成。不是转换成
问题2:
请问python是否有连接符,如a="'",b="xy", a和b相连,就变成 ‘xy,用加感觉效率特别底,特别是当b是数字的时候,还有能直接相加,还要转换一下。 1:
>>> a = 15
>>> b = []
>>> b.append(a)
>>> b
当然,你也可以:
>>> c =
>>> c
2,没有听明白你的问题? qiuyouzhi 发表于 2020-4-4 22:06
1:
当然,你也可以:
感谢。第二问题就是说的。
有没有类似&这种连接符。我记得VBA不管什么是数字还是字符,都能用&连接,最后就是一个字符串,特别好用,在python中老是报错。有没有什么方法实现&的功能。 本帖最后由 隔壁繁星吖 于 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:字符串格式化,这种方法非常常用 qiuyouzhi 发表于 2020-4-4 22:06
1:
当然,你也可以:
2,他的意思是说字符串和数值进行混连接
就像js一样,js中"abc"+567与"abc"+"567"
会得到一样的结果 隔壁繁星吖 发表于 2020-4-4 22:14
1.
2.
那如果是这样呢:
a=123
b="nihao"
a+b感觉就不行了。 隔壁繁星吖 发表于 2020-4-4 22:14
1.
2.
您这个方法3,提前得知道对应类型才可以。如果不知道就比较麻烦了。 高义校长 发表于 2020-4-4 22:24
您这个方法3,提前得知道对应类型才可以。如果不知道就比较麻烦了。
的确 问题二可以用字符串格式化方法解决啊
a=123
b="abc"
c=f"{a}{b}"
print(c) 隔壁繁星吖 发表于 2020-4-4 22:14
1.
2.
谢谢,学习啦! 隔壁繁星吖 发表于 2020-4-4 22:25
的确
a=123
b="nihao"
print('{}{}'.format(a,b))
这样呢? 高义校长 发表于 2020-4-4 22:12
感谢。第二问题就是说的。
有没有类似&这种连接符。我记得VBA不管什么是数字还是字符,都能用&连接,最 ...
可以用格式化操作符。 高义校长 发表于 2020-4-4 22:12
感谢。第二问题就是说的。
有没有类似&这种连接符。我记得VBA不管什么是数字还是字符,都能用&连接,最 ...
python是强类型语言,要想实现这个就写函数func=lambda *vals,sep='':sep.join(map(str,vals)) 高义校长 发表于 2020-4-4 22:12
感谢。第二问题就是说的。
有没有类似&这种连接符。我记得VBA不管什么是数字还是字符,都能用&连接,最 ...
没有的,必须要将数据转化为字符串。或者使用格式化操作符:
>>> a = 123
>>> b = 'abc'
>>> print(f'{a}{b}')
123abc 隔壁繁星吖 发表于 2020-4-4 22:14
1.
2.
% 效率略低,推荐使用 f'string' 高义校长 发表于 2020-4-4 22:24
您这个方法3,提前得知道对应类型才可以。如果不知道就比较麻烦了。
明确类型后,就不至于因为类型报错了 >>> a = 15
>>>
页:
[1]