我想根据layout
在列表中添加一些数据:
condition
在这里,如果条件为false,当我希望arr = ['abc', ('def' if condition else NOP)]
仅包含NOP
时应该怎么处理arr
?
答案 0 :(得分:5)
只需在另一行中做
//Get Duration from Stream
MediaMetadataRetriever mmr = new MediaMetadataRetriever();
await mmr.SetDataSourceAsync(streamUrl, new Dictionary<string, string>()); //crashes here
var result = mmr.ExtractMetadata(MetadataKey.Duration);
int millisecondDuration = int.Parse(result);
int duration = millisecondDuration / 1000;
return duration;
答案 1 :(得分:3)
arr = ['abc'] + (['def'] if condition else [])
答案 2 :(得分:0)
您还可以使用嵌套的条件生成器:
>>> ['abc', *(x for x in ['def'] if True), 'ghi']
['abc', 'def', 'ghi']
>>> ['abc', *(x for x in ['def'] if False), 'ghi']
['abc', 'ghi']
不过,不确定那是否更清洁;也许还有更多元素。