python 列表 字典 string 互相转换

本文详细介绍了Python中几种常见数据类型的互相转换方法,包括字典与字符串、列表与字符串之间的转换,并提供了具体示例代码。文章还提到了一些Python编码方面的注意事项。
部署运行你感兴趣的模型镜像

1: dict 转为 string   使用str方法

<span style="font-size:18px;">a = {1: 'a', 2: 'b'}
a = str(a)
print a, type(a)
-----
{1: 'a', 2: 'b'} <type 'str'></span>

2: string 转为 dict  使用eval方法

<span style="font-size:18px;">a = "{1: 'a', 2: 'b'}"
a = eval(a)
print a, type(a)
------
{1: 'a', 2: 'b'} <type 'dict'></span>

3: list 转为string  使用join方法, 单引号内为字符连接的符号, 可以为空,也可以为 '-' 等符号

<span style="font-size:18px;">a = ['hello', 'world']
b = ' '.join(a)
print b, type(b)
c= '-'.join(a)
print c, type(c)

----
hello world <type 'str'>
hello-world <type 'str'></span>

4: string 转为 list  这个就很方便了,使用split函数,参数为分隔符,可以为空

<span style="font-size:18px;">a = u'hello world'
b = a.split(' ')
print b, type(b)
c = a.split('o')
print c, type(c)
-------
[u'hello', u'world'] <type 'list'>
[u'hell', u' w', u'rld'] <type 'list'></span>

关于string前面的u, 在python2.x中,对字符的兼容还不是很好, 使用3.x 问题不大.   养成一个良好的习惯, 在string前面加一个u, 会省去很多编码问题. 如果你有编码问题,可以参阅这篇文章,写的很好.

python 编码问题注意点


您可能感兴趣的与本文相关的镜像

ComfyUI

ComfyUI

AI应用
ComfyUI

ComfyUI是一款易于上手的工作流设计工具,具有以下特点:基于工作流节点设计,可视化工作流搭建,快速切换工作流,对显存占用小,速度快,支持多种插件,如ADetailer、Controlnet和AnimateDIFF等

### 字符串与数字互相转换的实现方法 在编程中,字符串与数字之间的互相转换是常见的操作。以下是几种主流编程语言中实现字符串与数字互相转换的方法。 #### 1. **Java 中字符串与数字的转换** 在 Java 中,可以使用以下方法实现字符串与数字的互相转换: - **字符串转数字**:可以使用 `Integer.parseInt()` 或 `Double.parseDouble()` 等方法将字符串转换为数字类型[^1]。 ```java String str = "123"; int num = Integer.parseInt(str); // 将字符串转换为整数 double dbl = Double.parseDouble(str); // 将字符串转换为双精度浮点数 ``` - **数字转字符串**:可以通过 `String.valueOf()` 方法或直接拼接的方式将数字转换为字符串[^1]。 ```java int num = 123; String str = String.valueOf(num); // 使用String类的静态方法 String str2 = "" + num; // 使用字符串拼接 ``` #### 2. **Python 中字符串与数字的转换** 在 Python 中,字符串与数字的转换非常简单,主要通过内置函数实现: - **字符串转数字**:可以使用 `int()`、`float()` 等函数将字符串转换为数字类型。 ```python str_num = "123" num_int = int(str_num) # 转换为整数 num_float = float(str_num) # 转换为浮点数 ``` - **数字转字符串**:可以使用 `str()` 函数将数字转换为字符串[^1]。 ```python num = 123 str_num = str(num) # 转换为字符串 ``` #### 3. **JSON 字符串与字典转换Python 示例)** 在 Python 中,还可以实现 JSON 字符串与字典互相转换,这本质上也是字符串与数据结构的转换[^3]: - **字典转 JSON 字符串**:可以使用 `json.dumps()` 方法。 ```python data = {'name': 'Bill', 'company': 'Microsoft', 'age': 34} json_str = json.dumps(data) # 将字典转换为JSON字符串 print(json_str) ``` - **JSON 字符串转字典**:可以使用 `json.loads()` 或 `eval()` 方法。 ```python json_str = '{"name": "Bill", "company": "Microsoft", "age": 34}' data = json.loads(json_str) # 将JSON字符串转换字典 print(data) ``` #### 4. **摩斯密码与字符串的转换Python 示例)** 除了基本的字符串与数字转换,还可以扩展到更复杂的场景,例如摩斯密码与字符串的互相转换[^2]。以下是一个简单的实现示例: - **定义摩斯密码表**: ```python MORSE_CODE_DICT = { 'A': '.-', 'B': '-...', 'C': '-.-.', 'D': '-..', 'E': '.', 'F': '..-.', 'G': '--.', 'H': '....', 'I': '..', 'J': '.---', 'K': '-.-', 'L': '.-..', 'M': '--', 'N': '-.', 'O': '---', 'P': '.--.', 'Q': '--.-', 'R': '.-.', 'S': '...', 'T': '-', 'U': '..-', 'V': '...-', 'W': '.--', 'X': '-..-', 'Y': '-.--', 'Z': '--..', '0': '-----', '1': '.----', '2': '..---', '3': '...--', '4': '....-', '5': '.....', '6': '-....', '7': '--...', '8': '---..', '9': '----.' } ``` - **字符串转摩斯密码**: ```python def string_to_morse(text): morse_code = [] for char in text.upper(): if char in MORSE_CODE_DICT: morse_code.append(MORSE_CODE_DICT[char]) return ' '.join(morse_code) text = "HELLO" morse = string_to_morse(text) print(morse) # 输出:.... . .-.. .-.. --- ``` - **摩斯密码转字符串**: ```python def morse_to_string(morse_code): reverse_dict = {v: k for k, v in MORSE_CODE_DICT.items()} chars = morse_code.split(' ') return ''.join(reverse_dict.get(char, '') for char in chars) morse = ".... . .-.. .-.. ---" text = morse_to_string(morse) print(text) # 输出:HELLO ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值