Python数字、字符串、数组之间的相互转换

2,796 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第19天,点击查看活动详情

文章目录:

Python数字、字符串、数组相互转换

Python数组转数字

Python数字转数组

Python字符串转数组

Python数组转字符串

Python字符数组转数字型数组

Python数字型数组转字符数组

来道例题巩固一下

在平时刷题中,经常需要在数字、字符串、数组之间做转换,苦于网上没有全面的总结,遂自己稍微总结一下。

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)#37689

Python数字转数组

1234转为[1, 2, 3, 4]

b = 1234
b = [ int(x) for x in str(b) ]
print(b)#[1, 2, 3, 4]

Python字符串转数组

"zagiee"转为['z', 'a', 'g', 'i', 'e', 'e']

b = "zagiee"
print(list(b))#['z', 'a', 'g', 'i', 'e', 'e']

Python数组转字符串

a= [2,1,3]
print(''.join(map(str, a)))#213
c = ['z', 'a', 'g', 'i', 'e', 'e']
print(''.join(c))#zagiee

Python字符数组转数字型数组

['1', '5', '6', '28']转为[1, 5, 6, 28]

numbers = ['1', '5', '6', '28']
numbers = [ int(x) for x in numbers ]
print(numbers)#[1, 5, 6, 28]

Python数字型数组转字符数组

[1, 5, 6, 28]转为['1', '5', '6', '28']

numbers = [1, 5, 6, 28]
numbers = [ str(x) for x in numbers ]
print(numbers)#['1', '5', '6', '28']

来道例题巩固一下

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))