1. 程式人生 > >三元表示式 result='gt' if 1>3 else 'lt' 如果條件為真,把if前面的值賦值給變數,否則把else後面的值賦值給變數。

三元表示式 result='gt' if 1>3 else 'lt' 如果條件為真,把if前面的值賦值給變數,否則把else後面的值賦值給變數。

https://docs.python.org/3/tutorial/datastructures.html?highlight=list%20comprehension#list-comprehensions

以上是官方文件。5.1.3. List Comprehensions(列表解析式

https://docs.python.org/3.3/faq/programming.html#is-there-an-equivalent-of-c-s-ternary-operator

官方文件對於三元表示式(三目運算子)(Is there an equivalent of C’s ”?:” ternary operator?

)的說明。

 

https://www.cnblogs.com/liuye-micky/p/6937900.html

(1)三元運算

result='gt' if 1>3 else 'lt'
print result

理解:如果條件為真,把if前面的值賦值給變數,否則把else後面的值賦值給變數。

根據上述解釋,下面的例子中三元表示式的部分為(x for x in aif x%2==0,後面的部分,前面的部分x for x in a是列表解析式。

https://www.cnblogs.com/huchong/p/9328687.html

>>> a=[12,3,4,6,7,13,21]

>>> newList =[x forx in a]

>>> newList

[12,3,4,6,7,13,21]

>>> newList2 =[x for x in if x%2==0]

>>> newList2

[12,4,6]

 

https://www.cnblogs.com/Nicholas0707/p/8908009.html

Python之路(第十篇)迭代器協議、for迴圈機制、三元運算、列表解析式、生成器

 

 

https://www.cnblogs.com/liu-shuai/p/6098227.html

列表解析

  根據已有列表,高效建立新列表的方式。

  列表解析是Python迭代機制的一種應用,它常用於實現建立新的列表,因此用在[]中。

語法:

  [expression for iter_val in iterable]

  [expression for iter_val in iterable if cond_expr]

例項展示:

 

複製程式碼

 1 要求:列出1~10所有數字的平方
 2 ####################################################
 3 1、普通方法:
 4 >>> L = []
 5 >>> for i in range(1,11):
 6 ...     L.append(i**2)
 7 ... 
 8 >>> print L
 9 [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
10 ####################################################
11 2、列表解析
12 >>>L = [ i**2 for i in range(1,11)]
13 >>>print L
14 [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

複製程式碼

 

http://www.360doc.com/content/17/0319/20/1513309_638268364.shtml

Python程式語言中的列表解析式(list comprehension)就是這類語法糖(syntactic sugar)的絕佳代表。