在平时刷题中,经常需要在数字、字符串、数组之间做转换,苦于网上没有全面的总结,遂自己稍微总结一下。
Python数字、字符串、数组相互转换
Python数组转数字
[3, 7, 6, 8, 9]转为37689
nums=[3, 7, 6, 8, 9]
a = 0
for num in nums:
a = a *10 + num
print(a)
Python数字转数组
1234转为[1, 2, 3, 4]
b = 1234
b = [ int(x) for x in str(b) ]
print(b)
Python字符串转数组
"zagiee"转为[‘z’, ‘a’, ‘g’, ‘i’, ‘e’, ‘e’]
b = "zagiee"
print(list(b))
Python数组转字符串
c = ['z', 'a', 'g', 'i', 'e', 'e']
print(''.join(c))
Python字符数组转数字型数组
[‘1’, ‘5’, ‘6’, ‘28’]转为[1, 5, 6, 28]
numbers = ['1', '5', '6', '28']
numbers = [ int(x) for x in numbers ]
print(numbers)
Python数字型数组转字符数组
[1, 5, 6, 28]转为[‘1’, ‘5’, ‘6’, ‘28’]
numbers = [1, 5, 6, 28]
numbers = [ str(x) for x in numbers ]
print(numbers)
来道例题巩固一下
HJ9 提取不重复的整数 描述 输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。 保证输入的整数最后一位不是 0 。
输入描述: 输入一个int型整数
输出描述: 按照从右向左的阅读顺序,返回一个不含重复数字的新的整数
示例1
输入: 9876673 输出: 37689
解法1:
x = input()
x = x[::-1]
y = ''
for i in x:
if i not in y:
y+=i
print(y)
解法2:
n = int(input())
res = []
a = n % 10
while n != 0:
if n % 10 not in res:
res.append(n % 10)
n //= 10
s = 0
for i in res:
s = s * 10 + i
print(int(s))
|