比较以下内容。
示例 1:装饰器之前的文档字符串。
@app.route("/")
"""
summary
"""
def hello() -> str:
return "Hello World"
Run Code Online (Sandbox Code Playgroud)
对比示例 2:装饰器后的文档字符串:
"""
summary
"""
@app.route("/")
def hello() -> str:
return "Hello World"
Run Code Online (Sandbox Code Playgroud) 我正在尝试为 Yahtzee(一种骰子游戏)建模。
第一步,我尝试枚举同时掷出 5 个骰子的所有可能组合。我只想要独特的组合(例如5,5,5,4,4相同等5,5,4,5,4)。在 Python、C++ 或 Mathematica 中是否有一种简单的方法可以做到这一点?
我有一本以下格式的字典:
data = {
'Bob': {
'age': 12,
'weight': 150,
'eye_color': 'blue'
},
'Jim': {
'favorite_food': 'cherries',
'sport': 'baseball',
'hobby': 'running'
},
'Tom': {
'strength': 'average',
'endurance': 'high',
'heart_rate': 'low'
}
}
Run Code Online (Sandbox Code Playgroud)
将 dict 中的所有字典连接成一个新字典的最 Pythonic 方法是什么,这样我最终会得到如下所示的结果:
new_dict = {
'age': 12,
'weight': 150,
'eye_color': 'blue',
'favorite_food': 'cherries',
'sport': 'baseball',
'hobby': 'running',
'strength': 'average',
'endurance': 'high',
'heart_rate': 'low'
}
Run Code Online (Sandbox Code Playgroud) 我有一个值列表,我想将其元素添加到列表列表中每个列表的末尾。有没有Pythonic或有效的方法来解决这个问题?
例如,给定:
x = [['a','b','c'],['d','e','f'],['g','h','i']]
y = [1,2,3]
Run Code Online (Sandbox Code Playgroud)
我期望:
[['a', 'b', 'c', 1], ['d', 'e', 'f', 2], ['g', 'h', 'i', 3]]
我试过了:
list(zip(x,y))
Run Code Online (Sandbox Code Playgroud)
但是,这会产生:
[(['a', 'b', 'c'], 1), (['d', 'e', 'f'], 2), (['g', 'h', 'i'], 3)]
Run Code Online (Sandbox Code Playgroud)
我可以用这样的低效循环来解决它:
new_data = []
for i,x in enumerate(x):
x.append(y[i])
new_data.append(x)
print(new_data)
[['a', 'b', 'c', 1], ['d', 'e', 'f', 2], ['g', 'h', 'i', 3]]
Run Code Online (Sandbox Code Playgroud) 我有一个包含 elements 的数组[2, 3, 4, 5, 6, 7, 8, 9, 10, ...]。我希望将其拆分如下[[2, 3, 4], [3, 4, 5], [4, 5, 6], [5, 6, 7], ...]:我不确定如何执行此操作,因为每个拆分中的元素必须重复,并且我不确定如何创建这些重复元素。任何帮助都感激不尽。
我希望扩展此处采用的方法,但对于六个或更多列表的情况:How to Create Nested Dictionary in Python with 3lists
a = ['A', 'B', 'C', 'D']
b = [1, 2, 3, 4]
c = [9, 8, 7, 6]
d = [0, 3, 5, 7]
e = [11, 13, 14, 15]
Run Code Online (Sandbox Code Playgroud)
期望的输出:
{'A':{1 :9, 0:11} , 'B':{2:8, 3:13}, 'C':{3:7, 5:13} , 'D':{4:6, 7:15}}
Run Code Online (Sandbox Code Playgroud)
到目前为止,这是我尝试过的:
out = dict([[a, dict([map(str, i)])] for a, i in zip(a, zip(zip(b, c), zip(d,e) ))])
Run Code Online (Sandbox Code Playgroud)
输出很接近,但并不完全是我想要的。任何提示将非常感谢!
我试图将 RNA 序列作为输入并获取其各自的密码子作为输出。
例如:
输入:AUGGGAACUUCACUACGUAAAUAG
输出:密码子是:AUG, GGA, ACU, UCA, CUA, CGU, AAA, UAG
我在 Python 3.8 中这样编码:
rna = input("Enter the RNA sequence:")
list1 = []
rna = list(rna)
for i in range(len(rna)):
list2 = []
list2.append(rna[i : i + 3 : 3])
liststr = "".join(list2)
list1.append(liststr)
print(list1)
Run Code Online (Sandbox Code Playgroud)
但是,我收到错误TypeError: sequence item 0: expected str instance, list found。这段代码有什么问题?
我有以下任务:
\n\n\n导入模块并创建一个带有字符串参数的函数,该函数将打印字符串中唯一
\nsys元音的数量,无论它是大写还是小写。
例如:
\nTest 1: The argument swEet should print 1\nTest 2: The argument \xe2\x80\x9cAaa aeeE\xe2\x80\x9d should print 2\nTest 3: The argument "eiOuayOI j_#Ra" should print 5\nRun Code Online (Sandbox Code Playgroud)\n我有以下代码:
\nimport sys\n\ndef count_vowels(args):\n vowels = set()\n\n for arg in args:\n for char in arg:\n if char.lower() in 'aeiou':\n vowels.add(char)\n return len(vowels)\n\nprint(count_vowels(sys.argv[1:]))\nRun Code Online (Sandbox Code Playgroud)\n测试用例 1 是唯一打印预期输出的测试。另外两个测试用例(测试 2 和测试 3)不会打印正确的预期结果。测试 2 打印 5,而不是预期输出 4,测试 3 打印 6,而不是预期输出 5。
\n我想将3 x 3列表的行索引和列索引存储在列表中。它应该如下所示:
rc = [(0,0),(0,1),(0,2),(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)]
Run Code Online (Sandbox Code Playgroud)
如何使用 Python 中的列表理解来获取此列表?
有没有一种聪明的方法来检查 JSON 元素中的任何数组是否不为空?这是示例数据:
{
a = []
b = []
c = [1,2,3]
}
Run Code Online (Sandbox Code Playgroud)