吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1226|回复: 17
收起左侧

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

[复制链接]
MyModHeaven 发表于 2022-3-25 16:20
本帖最后由 MyModHeaven 于 2022-3-25 17:26 编辑


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

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

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






总结一下,可以这么写:content = [index, body, *options, answer]


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






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

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


唉,一晃大半年过去了

免费评分

参与人数 2吾爱币 +1 热心值 +2 收起 理由
cqfcy + 1 我很赞同!为什么回帖不能带链接
healerone + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

8at08 发表于 2022-3-25 16:33
你怎么理解的优雅?
kiyn 发表于 2022-3-25 16:34
请问你需要的是在代码中赋值添加进列表中吗?
还是遍历文件获取?
或者是用户输入?
cqfcy 发表于 2022-3-25 16:34
一步到位
[Python] 纯文本查看 复制代码
content =  [index, body, *options, answer]

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
MyModHeaven + 1 + 1 我很赞同!非常优雅!!!

查看全部评分

salge 发表于 2022-3-25 16:38
python列表是可以嵌套的。
[Python] 纯文本查看 复制代码
index = '1'
body = '关于算法的描述,以下选项中正确的是'
options = ['算法的有穷性是指算法必须能在执行有限个步骤之后终止', '算法的执行效率与数据的存储结构无关', 
           '算法具有不确定性', '算法的空间复杂度是指算法程序中指令(或语句)的条数']
answer = 'A'
content = [index, body,options,answer]
print(content[2][1])
kiyn 发表于 2022-3-25 16:43
salge 发表于 2022-3-25 16:38
python列表是可以嵌套的。
[Python] 纯文本查看 复制代码
index = '1'
body = '关于算法的描述,以下选项中正 ...[/quote]

按照楼主最后的结果 应该是
[mw_shl_code=python,true]content = [index, body,*options,answer]
luyers 发表于 2022-3-25 16:47
4楼应该满足楼主要求了
bester 发表于 2022-3-25 16:55

这个*号的用法能否解释一下呢?
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

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
MyModHeaven + 1 + 1 我很赞同!

查看全部评分

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

如果不加* 列表里面会再有一个列表
加了就是列表里面全都是字符串了 相当于把options的元素全放出来了
如果有更官方的解释请回复
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-18 06:24

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表