MyModHeaven 发表于 2022-3-25 16:20

【python】如何优雅的把这3个字符串和一个列表放在一个列表里?

本帖最后由 MyModHeaven 于 2022-3-25 17:26 编辑


把 index, body, options, answer 这四个变量组成一个长度为 7 的列表,除了这么一个个的赋值,有什么优雅的办法吗?

```py
index = '1'
body = '关于算法的描述,以下选项中正确的是'
options = ['算法的有穷性是指算法必须能在执行有限个步骤之后终止', '算法的执行效率与数据的存储结构无关',
         '算法具有不确定性', '算法的空间复杂度是指算法程序中指令(或语句)的条数']
answer = 'A'
content =
content += options
content.append(answer)
print(content)

# content = ['1', '关于算法的描述,以下选项中正确的是', '算法的有穷性是指算法必须能在执行有限个步骤之后终止', '算法的执行效率与数据的存储结构无关',
#            '算法具有不确定性', '算法的空间复杂度是指算法程序中指令(或语句)的条数', 'A']
```


https://static.52pojie.cn/static/image/hrline/1.gif
https://static.52pojie.cn/static/image/hrline/1.gif

总结一下,可以这么写:content =


至于原因,看这里:Python3 序列解包_极客点儿的博客-CSDN博客_序列解包



https://static.52pojie.cn/static/image/hrline/1.gif


这让我想起来我第一次接触 “语法糖” 这个词:好像是去年暑假的某天,我在看 python 官方文档,看见 “语法糖” 这三个字,对旁边的弟弟说:你看,语法糖,哈哈哈,翻译错了,哈哈哈。当时就是感觉 “语法糖” 这个词很好笑。然后我去看英文的文档,发现是 “syntactic sugar”,感觉好像真有这么个东西,就去百度,看见百度百科里有这个词条:语法糖_百度百科 (baidu.com)

语法糖(Syntactic sugar),也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。


唉,一晃大半年过去了

8at08 发表于 2022-3-25 16:33

你怎么理解的优雅?

kiyn 发表于 2022-3-25 16:34

请问你需要的是在代码中赋值添加进列表中吗?
还是遍历文件获取?
或者是用户输入?

cqfcy 发表于 2022-3-25 16:34

一步到位
content =

salge 发表于 2022-3-25 16:38

python列表是可以嵌套的。
index = '1'
body = '关于算法的描述,以下选项中正确的是'
options = ['算法的有穷性是指算法必须能在执行有限个步骤之后终止', '算法的执行效率与数据的存储结构无关',
         '算法具有不确定性', '算法的空间复杂度是指算法程序中指令(或语句)的条数']
answer = 'A'
content =
print(content)

kiyn 发表于 2022-3-25 16:43

salge 发表于 2022-3-25 16:38
python列表是可以嵌套的。
index = '1'
body = '关于算法的描述,以下选项中正 ...

按照楼主最后的结果 应该是
content =

luyers 发表于 2022-3-25 16:47

4楼应该满足楼主要求了

bester 发表于 2022-3-25 16:55

cqfcy 发表于 2022-3-25 16:34
一步到位

这个*号的用法能否解释一下呢?

cqfcy 发表于 2022-3-25 17:05

本帖最后由 cqfcy 于 2022-3-26 10:31 编辑

bester 发表于 2022-3-25 16:55
这个*号的用法能否解释一下呢?
大致相当于js里面的...,参考一下这个https://blog.csdn.net/yilovexing/article/details/80576788

kiyn 发表于 2022-3-25 17:06

bester 发表于 2022-3-25 16:55
这个*号的用法能否解释一下呢?

如果不加* 列表里面会再有一个列表
加了就是列表里面全都是字符串了 相当于把options的元素全放出来了
如果有更官方的解释请回复
页: [1] 2
查看完整版本: 【python】如何优雅的把这3个字符串和一个列表放在一个列表里?